ログローテーションを担当するCentOS 6オペレーティングシステムに毎日cronjobを設定しました。ファイルは/etc/cron.daily/logrotateで、その内容は次のとおりです。
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
毎日のcronjobによってアクティブ化された場合、ログは循環することを期待していましたが、そうではありません。毎日のcronjobが/var/log/cronログファイルで実行されるという証拠はありません。ただし、ログファイルに示されているように時間ごとのジョブが実行されています。
/etc/crontabファイルに1行追加しました。
# run-parts
02 4 * * * root run-parts /etc/cron.daily
しかし、それは変わりませんでした。
なぜこのログ回転が機能しないのかわかりません。誰かが手がかりを提供できることを嬉しく思います。
答え1
logrotate
プロセスを手動で実行してみてください。
logrotate -v -f /etc/logrotate.conf
エラーが発生した場合は、手動で修正してください。
たとえば、ログの圧縮と回転に使用できなくなる可能性があります(この場合は一部のログを削除)。