いつも通りメモ
[code lang=text] /opt/encode/encode.log{ daily rotate 7 missingok notifempty minsize 1M create 0664 astel astel compress delaycompress sharedscripts postrotate /sbin/service nginx restart endscript } [/code]
実際に使ってるわけじゃないけど例としてこれをあげる 1行目の/opt/encode/encode.log これがlogrotateするファイル
複数指定もできる
[code lang=text] /var/log/hoge/.log /var/log/piyo/.log /var/log/foo/*.log { [/code]
daily ログをローテートする周期 1日 daily 毎週 weekly 毎月 monthly
rotate 7 ローテートしたログを保存しておく期間 7にしているので7日たつと7日前のファイルは削除される
missingok ローテートするファイルがなくてもエラー出力をしない
notifempty ローテートするファイルの中身が空だった場合処理しない
minsize 1M 指定したファイルが1MB以下だった場合は処理しません 個人的にはあまり好きじゃない
create 0664 astel astel 新規ログファイルを作る際に所有者やパーミッションを指定
compress ログを圧縮して保存する gzで圧縮される
delaycompress 1つ前のファイルは圧縮しないで2つ前のは圧縮される
hoge.log hoge.log.1 hoge.log.2.gz hoge.log.3.gz
sharedscripts postrotate /sbin/service nginx restart endscript
sharedscripts コマンドを実行できる postrotateまたはprerotateで記述したコマンドを実行
postrotateまたはprerotateとは
prerotate ログファイルをローテーションする前 postrotate ログファイルをローテションした後
/sbin/service nginx restart コマンド 意味もなくnginx restartとか書いてる
endscript 多分コマンドの最後を示す