2013/09/30

1時間毎のLog Rotate

1時間毎に、syslog-ngのログファイルをfilename-yyyymmdd-hhmm.gzでローテートするlogroatedのconfigファイル。
最大保存期間は2日間に限定。

/var/log/hourly/*.log {
daily
rotate 2
compress
firstaction
DATE=`date +%Y%m%d -d "2 days ago"`
if [ `ls /var/log/hourly/*-${DATE}*.gz 2> /dev/null | wc -l` -gt 1 ] ; then
rm /var/log/hourly/*-${DATE}*.gz 2> /dev/null 1>&2
fi
endscript

lastaction
/etc/init.d/syslog-ns reload 2> /dev/null 1>&2
DATE=`date +Y%m%d-%H%M`
for f in `ls /var/log/hourly/*.log.1.gz` do
if [ -e $f ] ; then
ff=/var/log/hourly/`basename $f .1.gz`
mv ${ff}.1.gz ${ff}-${DATE}.gz
fi
done
endscript

nodateext
sharedscript
missing ok
size 1

0 件のコメント: