同時に2つのジョブを設定すると、ログの回転は機能しません。

同時に2つのジョブを設定すると、ログの回転は機能しません。

こんにちは、logrotate構成が保存されるディレクトリがあります。 /directory1/scripts/logrotate/logrotate_1.conf がすべて似ているとします。

logrotate_1.conf

su root root
/zzz/env/yyy/tomcat/logs/catalina.out {
rotate 90
copytruncate
missingok
dateext
dateformat -%Y-%m-%d_%H%M.log
compress
lastaction
mv /zzz/env/yyy/tomcat/logs/*.gz /zzz/env/yyy/logs/archive
chown www-data:www-data /zzz/env/yyy/logs/archive -R
endscript
}

crontabではlogrotateを実行するように設定しましたが、すべてのアイデアがうまく機能します。

59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_1.conf
58 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_2.conf
57 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_3.conf

しかし、このようにlogrotate実行を設定しても機能しません。ある日は1行目から録音を開始し、翌日は1行目と3行目から録音を開始する式です。

59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_1.conf
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_2.conf
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_3.conf

logrotateを同時に実行するのに問題があるようです。なぜこれが起こるのかを説明できますか?

答え1

logrotateステータスファイルを使用してタスクを追跡します。logrotate複数の循環構成がある場合でも、インスタンスは1つだけでなければなりません。失敗した場合は、インスタンスごと-sに異なるステータスファイルを指定します()。

関連情報