Skip to main content

LogRotate

LogRotate Configuration.

https://www.redhat.com/sysadmin/setting-logrotate

If not installed already (it usually is), install the logrotate service:

apt install logrotate

yum install logrotate

Configuration of logrotate

/etc/logrotate.conf - used to define default parameters for logrotate

/etc/logrotate.d - used for configuring logrotate for specific logs

example configuration:

/root/.unison/unison.log {
    rotate 7
    daily
    compress
    missingok
    notifempty
}

Common options you may see used in a configuration file include:

  • compress - this indicates the log files should be compressed once rotated. gzip is used by default.

  • daily / weekly / monthly / yearly - this specifies that the log file should be rotated every day, week, or month.

  • ifempty / notifempty - these specify whether to either rotate the log file even if it’s empty, or to not rotate the log file if it’s empty, respectively.

  • missingok / notmissingok - these options will either not generate an error, or will generate an error if the log file does not exist. notmissingok is the default.

  • rotate - this is supplied with a number argument, which specifies how many times the log files are rotated before being removed.

  • size - this specifies the size a log file has to reach before it is rotated.

Running LogRotate

LogRotate usually comes set up with a daily cron:

ls /etc/cron.daily/
apport  apt-compat  dpkg  logrotate  man-db  plocate

You can also run a logrotate configuration at any time:

logrotate name