
私は大きなログファイルを作成するプログラムに取り組んでいます。
logrotateで処理したいです。
これは私が設定した構成です/etc/logrotate.d/
:
/var/log/myproject.log {
hourly
maxsize 1
rotate 6
missingok
notifempty
compress
nocreate
copytruncate
su www-data www-data
}
(/var/log/myproject.log
所有者ありwww-data
)
コマンド
sudo logrotate -vf /etc/logrotate.conf
そして
sudo logrotate -vf /etc/logrotate.d/myproject
ログを正しく回転させます。
ただし、呼び出した後は/etc/cron.hourly
空になります。つまり、logrotate は 1 時間ごとに呼び出されません。
logrotate
スクリプトが必ず含まれますか/etc/cron.daily
?スクリプトはログ ファイルの更新頻度をチェックしますか。つまり、
logrotate
スクリプトがあり/etc/cron.daily
、一部のログ ファイルに対して設定を行ったX
場合、毎日または毎週ローテーションされるのでしょうか。/etc/logrotate.d/
weekly
X
/etc/cron.daily/logrotate
にコピー&ペーストするだけでいいのでしょうか/etc/cron.hourly/
?カット&ペーストはできますか?0anacron
にファイルを追加する必要がありますか/etc/cron.hourly/
?時間ごとのログ記録を有効にするには、何か他の操作を行う必要がありますか?
答え1
いいえ。
-
Each configuration file can set global options (local definitions override global ones, and later definitions override earlier ones)
あ、はい。
再び、manページから引用します:
hourly Log files are rotated every hour. Note that usually logrotate is configured to be run by cron daily. You have to change this configuration and run logrotate hourly to be able to really rotate logs hourly.
したがって、スクリプトを移動する必要があります。
cron.daily
私のシステムでスクリプトを検査したところ、移動しても問題なく動作すると思います。