使用logrotate管理nginx日志文件
来源:岁月联盟
时间:2012-04-23
配置:
1、在/etc/logrotate.d目录下创建一个nginx的配置文件”nginx”配置内容如下
#vim /etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log {
daily
rotate 5
missingok
notifempty
sharedscripts
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ]; then
kill -USR1 cat /usr/local/nginx/logs/nginx.pid cat到最后有一个飘点号,就是,键盘左上角的
fi
endscript
}
保存退出。
2、执行logrotate
#/usr/sbin/logrotate -f /etc/logrotate.d/nginx
在/usr/local/nginx/logs目录中会产生
error.log
error.log.1
说明logrotate配置成功。
3、让logrotate每天进行一次滚动,在crontab中添加一行定时脚本。
#crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx
每天23点59分进行日志滚动
4、配置文件说明
daily:日志文件每天进行滚动
rotate:保留最5次滚动的日志
notifempty:日志文件为空不进行滚动
sharedscripts:运行postrotate脚本
下面是一个脚本
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ]; then
kill -USR1 cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
脚本让nginx重新生成日志文件
摘自 http://baoz.net/zz-%e4%bd%bf%e7%94%a8logrotate%e7%ae%a1%e7%90%86nginx%e6%97%a5%e5%bf%97%e6%96%87%e4%bb%b6/