cron ジョブではログローテーションは行われません - ファイルはシンボリックリンクされており、強制的なログローテーションが機能します

cron ジョブではログローテーションは行われません - ファイルはシンボリックリンクされており、強制的なログローテーションが機能します

2つのカスタムファイルでログローテーションの問題が発生しています。それらのファイルが存在するフォルダ/var/log/testは、/sample/var/log/test

logrotate を取得する cron.daily ログ:

Sep 12 03:20:01 xxx anacron[]: Job `cron.daily' started
Sep 12 03:20:01 xxx run-parts(/etc/cron.daily)[]: starting logrotate
Sep 12 03:20:01 xxx run-parts(/etc/cron.daily)[]: finished logrotate

しかし、logrotate ステータスはファイルの時間を更新しません (今回は、 を使用して強制的に logrotation を実行したときです-f)。

cat /var/lib/logrotate/logrotate.status

"/var/log/test/xxxx.out" 2018-9-10-14:14:49
"/var/log/test/yyyy.out" 2018-9-10-14:14:49

これは私のログローテーション設定です:

cat /etc/logrotate.d/test

/var/log/test/xxxx.out
/var/log/test/yyyy.out {
        missingok
        notifempty
        rotate 7
        copytruncate
        compress
        daily
        create 0644 root root
}

以下の操作を行うとファイルが回転します: logrotate -f /etc/logrotate.d/test

何が問題なのでしょうか?

答え1

logrotate.d は設定構造であり、実際の設定ではありません。 内のファイルは、logrotate.dによって参照される必要がありますlogrotate.conf

この行は、include /etc/logrotate.d/*.confまたは似たようなものになります。適切な拡張子をファイルに追加すれば、おそらく含まれるでしょう。logrotate マニュアルページ詳細については。

関連情報