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</strong>/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