
私はシステム管理の初心者で、いくつか質問があります。
- logrotate 手順はシステムによってどこでどのように開始されますか?
- 「毎日」ローテーションされるログファイルは、何時にローテーションされますか?
- *.log エントリに一致する各ログ ファイルに対して prerotate コマンドが実行されますか?
ありがとう
答え1
1) 私の古いHardyインストールでのlogrotateはMikeの回答と全く同じです
2) /etc/crontabファイルを見ると、私のインストールではcron.dailyが午前6時25分に実行されています。
3) 事前回転コマンドがパターンに割り当てられ、ログファイルがそのパターンに一致する場合、はい
答え2
からhttps://help.ubuntu.com/community/LinuxLogFiles:
通常、logrotate はシステム全体の cron スクリプト /etc/cron.daily/logrotate から呼び出され、さらに設定ファイル /etc/logrotate.conf によって定義されます。個々の設定ファイルは /etc/logrotate.d (たとえば、apache2 および mysql の設定が保存されている場所) に追加できます。
関係するファイルは次のとおりです。
/etc/cron.daily/logrotate
/etc/logrotate.conf
/ec/logrotate.d/*
Matt と同様に、私のシステムでは cron.daily ジョブは午前 6:25 に開始されますが、実際の実行時間は cron.daily 内のジョブ、システム負荷などによって異なります。
ログローテーションlogrotate.conf ファイルを使用して logrotate を実行します。
「/usr/sbin/logrotate /etc/logrotate.conf」
ログローテート/etc/logrotate.d ディレクトリを指します:
「/etc/logrotate.d を含める」
ログローテート特定のログ ファイル用の個別のスクリプトが含まれています。
これらのファイルでは、中括弧内のアクション (回転、圧縮など) が各ブロックの先頭で定義されたファイルに対して実行されます。ワイルドカードが許可されているため、'/var/log/*log' などのアクションは、/var/log/ 内の .log サフィックスで終わるすべてのファイルに影響します。
'/var/log/*log' に属するブロックで使用されるキーワードの 1 つが prerotate である場合、それらのファイルに対して prerotate コマンドが実行されますが、「ログが実際に回転される場合のみ」です。(から ログローテート)
答え3
以下を見てください
/etc/cron
ls /etc/cron.daily
RedHatでは
/etc/cron.daily/logrotate