logrotate メモ

Pocket

いつも通りメモ

/opt/encode/encode.log{
daily
rotate 7
missingok
notifempty
minsize 1M
create 0664 astel astel
compress
delaycompress
sharedscripts
postrotate
/sbin/service nginx restart
endscript
}

実際に使ってるわけじゃないけど例としてこれをあげる
1行目の/opt/encode/encode.log
これがlogrotateするファイル

複数指定もできる

/var/log/hoge/*.log
/var/log/piyo/*.log
/var/log/foo/*.log
{

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
多分コマンドの最後を示す

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください