使用logrotate做nginx日志轮询
logrotate看名字就知道是专门做日志轮询的,只把任务配置放在/etc/logrotate.d/下,任务就会自动完成,而且无需安装,系统自带,比较推荐使用.
- [root@srv logrotate.d]# vi /etc/logrotate.d/nginx
配置如下
- /usr/local/nginx/logs/www.willko.cn.log /usr/local/nginx/logs/nginx_error.log {
- notifempty
- daily
- sharedscripts
- postrotate
- /bin/kill -USR1 `/bin/cat /usr/local/nginx/nginx.pid`
- endscript
- }
- /usr/local/nginx/logs/www.willko.cn.log /usr/local/nginx/logs/nginx_error.log {
- notifempty
- daily
- sharedscripts
- postrotate
- /bin/kill -USR1 `/bin/cat /usr/local/nginx/nginx.pid`
- endscript
- }
多个日志以空格分开,
notifempty 如果日志为空则不做轮询
daily 每天执行一次
postrotate 日志轮询后执行的脚本
这样,每天都会自动轮询,生成nginx.log.1-n