• 追加された行はこの色です。
  • 削除された行はこの色です。
**logrotateの設定と使い方 [#mfe48015]
#Contents
**ディレクトリ構成 [#fe1811e3]
OS標準のlogrotateは以下の設定ファイルを使用して稼動している。~

-本体の動作設定
 /etc/logrotate.conf 

-サービス毎の動作設定
 /etc/logrotate.d/

**設定手順 [#w30044fc]
1. サービス用のログローテート設定ファイルを作成~
2. 設定ファイルを/etc/logrotate.d/に配置~

**留意点 [#dcbc5683]
-ログローテーション後のデーモン再起動~
ログの出力元のデーモンにより、ログの出力先ファイルをinode番号で管理しているケースがある。この様な動作をするデーモンの場合、ログファイル名を変更しても同じファイルにログを出力しつづける動きをする。~
これを解消するためには、ログファイルのローテーション後にpostrotateを指定して当該デーモンを再起動(kill -HUP)する。~
|ログをinodeで管理するデーモン|crond、httpd、mysqld、rsyslogd|
|ログをファイル名で管理するデーモン|heartbeat、zabbix_server|
~

-ログローテーション時のログの取りこぼし
ログのローテーション処理に時間がかかる場合、処理中に受信したログを取りこぼす可能性がある。~
ファイル名を変更するだけのローテーションであれば一瞬で処理が完了するが、ログファイルの圧縮を伴う場合には、圧縮処理の間にログの取りこぼしが発生する。これを回避するためにはdelaycompressを使用して、圧縮処理を次回のローテーション処理時まで遅延させることで対処する。~
~

-複数のログファイルを対象とする場合の留意点
ローテーション対象とするログの指定は複数列記やアスタリスクによる不特定多数の指定が可能である。~
この場合、ローテーションが全て完了してからデーモンの再起動を行うと、ログの取りこぼしが発生する可能性がある。~
これを回避するためには、sharedscriptsを使用して個々のファイル毎にpostrotateに記述した処理を行わせることで対処する。~
~

**パラメータ [#nbeb3ced]
-動作制御
|missingok|ファイルが存在しなくても処理を続行|
|notifempty|ログファイルが空の場合はローテートしない|
|compress|ローテートしたファイルをgzip圧縮する|
|delaycompress|ログの圧縮を次回のローテート時に行う(compressオプションと併用)。ログファイルが大きく、圧縮に時間がかかることでローテーション時間が順延し、ログの取りこぼしが起きる場合に使用する。|
|rotate N|Nに指定した回数のローテートを行う|
|create [権限] [所有者] [グループ]|ローテート後の空ファイル生成|
|sharedscripts|複数のログを対象に|
|sharedscripts|複数のログがローテーション対象である場合に、postlotateもしくはprerotateをファイル毎に実行する。|
|postrotate|処理終了時に実行するスクリプトの記述開始位置|
|endscript|スクリプトの記述終了位置|

~

-ローテーション期間の指定
|daily|日次|
|weekly|週次|
|monthly|月次|


**設定例1. (apache weekly 24rotate compress) [#g634460b]
 /home/httpd/default/logs/access.log {
   weekly
   compress
   rotate 24
   postrotate
     /etc/init.d/apachectl graceful
   endscript
 }

**設定例2. (apache daily 40rotate compress) [#g94d1664]
 /home/httpd/default/logs/access.log {
   daily
   compress
   rotate 40
   postrotate
     /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
   endscript
 }

**設定例3. (apache *log monthly 24rotate(2year) compress) [#h46b1c20]
 /home/httpd/default/logs/*.log {
   monthly
   compress
   rotate 24
   postrotate
     /etc/init.d/apachectl graceful
   endscript
 }



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS