Saturday, August 18, 2012

How To enable log rotate in Linux Server


logrotate is a program which will automatically backup your old log files and gzip them. You can specifiy how often logrotate should backup your logfiles and how long it should keep them. The advantage of logrotation is that you can save disk space without the deletion of log files. The logrotation can be configured for automatic rotation, compression, removal, and mailing of log files.

The default configuration file is /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


# uncomment this if you want your log files compressed

#compress


# RPM packages drop log rotation information into this directory

include /etc/logrotate.d


# no packages own wtmp -- we'll rotate them here

/var/log/wtmp {

 monthly

 minsize 1M

 create 0664 root utmp

 rotate 1

}



# system-specific logs may be also be configured here.



Service or server specific configurations stored in /etc/logrotate.d directory, for example here is sample apache logrotate configuration file:


less /etc/logrotate.d/httpd



/var/log/httpd/*log {

monthly

rotate 52

compress

missingok

notifempty

sharedscripts

postrotate

/sbin/service httpd reload > /dev/null 2>/dev/null || true

endscript

}


Now you need to set a cronjob for the logrotation to run. crontab -e





00 00 * * * /usr/sbin/logrotate -s /home/linuxhowto/config/logrotate.status



Cron ensures that the command runs at midnight everyday. The command has three parts. /usr/sbin/logrotate is the path to logrotate. The -s /home/linuxhowto/config/logrotate.status option specifies where logrotate keeps its status information. This file has to be writeable by the user running the cron.



run the command /usr/sbin/logrotate -f /etc/logrotate.conf to begin the log rotation

No comments:

Post a Comment