大きなログファイルを作成するプログラムに取り組んでいます。
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時間ごとに呼び出されません。
/etc/cron.daily
にlogrotate
スクリプトがあることが保証されていますか?
スクリプトは、ログファイルの更新頻度をチェックします。つまり/etc/cron.daily
にlogrotate
スクリプトがあり、/etc/logrotate.d/
にいくつかのログファイルX
がある場合、weekly
設定を設定すると、X
が毎日ローテーションされるか、毎週?
/etc/cron.daily/logrotate
を/etc/cron.hourly/
にコピーアンドペーストすることはできますか?カットアンドペーストできますか?
0anacron
ファイルを/etc/cron.hourly/
に追加する必要がありますか?
1時間ごとのログ記録を有効にするために、他に何かする必要がありますか?
番号。
man logrotate
から:
Each configuration file can set global options (local definitions
override global ones, and later definitions override earlier ones)
あ、はい。
繰り返しますが、マンページから:
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
スクリプトを調べると、それを動かしてもうまくいくと思います。