私はDigital Ocean VPSでUbuntu 14.04 LTSとnginxを実行しています。
トピック
cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
電子メールの本文は次のとおりです。
/etc/cron.daily/logrotate: エラー: '/var/log/nginx/*.log' の共有 postrotate スクリプトの実行中にエラーが発生しました。実行部分:/etc/cron.daily/logrotateが戻りコード1で終了しました。
この問題を解決する方法についてのアイデアはありますか?
修正する:
/var/log/nginx/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
修正する:
$ sudo invoke-rc.d nginx rotate
initctl: invalid command: rotate
Try `initctl --help' for more information.
ベストアンサー1
回転後の作業が間違っているようです。
努力する
invoke-rc.d nginx reload >/dev/null 2>&1
コマンドを表示すると、そのコマンドがnginx
実行するアクションが表示されます。受信したメッセージにも確認してもらいました。initctl --help
xtian@fujiu1404:~/tmp$ initctl help
Job commands:
start Start job.
stop Stop job.
restart Restart job.
reload Send HUP signal to job.
status Query status of job.
list List known jobs.
したがって、リロードが機能し、HUP信号をnginxに送信してログファイルを強制的に再開する必要があります。