CentOS 7 を実行しており、logrotate スクリプトをいくつか持っています。ここ数日、ファイルがローテーションされていないことに気付きました。logrotate.status を確認すると、実行されたと表示されますが、ログは実際にはローテーションされていません。手動で強制的に実行させると、期待どおりに動作します。新しくローテーションされたファイルを別のフォルダーにコピーして処理する postrotate スクリプトがありますが、それが実行されません。私は Linux 初心者ですが、logrotate は簡単なように思えますが、これを確実に動作させるのに数え切れないほどの頭痛の種になっています。
アップデート:私はそれらの logrotate 構成のコンテキストを確認しましたが、私のものはすべて「unconfined_U」でしたが、既存のものはすべて「system_u」でした。他のものと一致するようにコンテキストを更新しました。これで問題が解決するかどうかはわかりませんが、これがこれまでのところ私が見つけた唯一の違いです。
/pub/share/mylog.log
{
su root root
missingok
create
dateext
daily
rotate30
compress
delaycompress
postrotate
cp $1-$(date +%Y%m%d) /pub/share/reports/mylog.log > /dev/null
endscript
}
それが権限の問題なのか、それとも何か他の問題なのかは分かりません。