Log File Rotation

Managing Log files with Linux Log Rotation

Automatic Log File Rotation


The automatic housekeeping of log files is handled by a routine known as "logrotate". This process significantly reduces the risk of log files growing to excessive sizes. The logfile rotation process is generally handled by a cron entry which calls upon the logrotate utility.

Log files that need to be managed are generally added into a configuration file called "/etc/logrotate.conf". "rpm" package logs are handled within the directory "/etc/logrotate.d". Within these files we can specify retention and size periods as well as specifying compression to be used.



Example "/etc/logrotate.conf" file



sles01:/ # cat /etc/logrotate.conf
# 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

# comment these to switch compression to use gzip or another
# compression scheme
compresscmd /usr/bin/bzip2
uncompresscmd /usr/bin/bunzip2

# former versions had to have the compressext set accordingly
#compressext .bz2

# 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.

For further information regarding the "logrotate" utility, see the man pages with "man logrotate. All the available parameters and options can be found there.