It is time to clean up the confusing log rotating set-up on our Ubuntu servers.
Currently log rotating is done through syslog and logrotate. We will kill the syslog stuff, and use logrotate for rotating all logs.
Sysklogd will be just another process that needs to have its logs rotated by logrotate.
echo -e "`printf \\"\"%s\\" \" \`syslogd-listfiles -a\`` {\n\tpostrotate\n\tsharedscripts\n\t\t/etc/init.d/sysklogd reload > /dev/null\n\tendscript\n}\n" > /etc/logrotate.d/sysklogd |
/etc/logrotate.conf
- see man logrotate. Very useful option is dateext
. Keep stuff for 5 years:
weekly rotate 260 dateext create compress delaycompress missingok include /etc/logrotate.d /var/log/wtmp { monthly rotate 60 create } /var/log/btmp { monthly create rotate 60 } |
rm /etc/cron.*/sysklogd |
This should to the trick. Started testing on Cajones on 2010-01-11.
Also configured on Confluence.