You will need this if you are using custom location for log files.
Below is example for Nginx where log files are directly created in /var/www/example.com/logs
You can put following in /etc/logrotate.d/nginx
/var/www/example.com/logs/*.log { daily missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` endscript }
Verify
Its always better to verify if logrotate script is correct.
Just run command
logrotate -d
It will produce debug output.
Restart/Force Update
Remember, logrotate is not service which can be restarted. In case you need your logrotate script to run immediately, use:
logrotate -f -v /etc/logrotate.d/nginx
Rotating log is very important. Otherwise some day your harddisk may get full and then mysql will be the first process which will refuse to start!
Recommended Reading: Slicehost wiki has nice explanation