logrotateしているログファイル名に日付を付与する。
さくらのVPS契約してみたら設定されていた、なんていう恥ずかしい理由で知りました。
普通のlogrotateの設定だと、ローテートしているログファイルはmessages.1みたいな感じで一体いつ出たログなのか、よくわかりません。
最近のlogrotateにはdateextというオプションがあるようで、これを設定することでローテートしたログファイルに日付を付けられるようです。
こんな感じ。
# see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp minsize 1M rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 } # system-specific logs may be also be configured here.
こんな感じでローテートされます。
[root@localhost log]# ls -ltr messages* -rw------- 1 root root 1588 Apr 29 03:17 messages-20120429 -rw------- 1 root root 517 May 6 04:29 messages-20120506 -rw------- 1 root root 448 May 13 04:00 messages-20120513 -rw------- 1 root root 448 May 20 04:50 messages-20120520 -rw------- 1 root root 219 May 20 04:50 messages