こんにちは、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
に異なるステータスファイルを指定します()。