Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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.

  1. Generate logrotate config file for sysklogd. You can ask sysklogd what files it is currently logging to, and use that as input for the logrotate config file.
    This one liner will do the trick:
    Code Block
    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
    
  2. Change according to your needs - defaults are in /etc/logrotate.conf - see man logrotate. Very useful option is dateext. Keep stuff for 5 years:
    No Format
    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
    }
    
  3. Remove old sysklogd cron entries:
    Code Block
    rm /etc/cron.*/sysklogd
    

This should to the trick. Started testing on Cajones on 2010-01-11.
Also configured on Confluence.