使用logrotate切割nginx日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用logrotate切割nginx日志相关的知识,希望对你有一定的参考价值。

配置:
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`
    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://linux008.blog.51cto.com/2837805/555829/

以上是关于使用logrotate切割nginx日志的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 日志切割(Logrotate)

Nginx日志切割工具——logrotate

nginx日志切割遇到的问题

nginx日志切割

Linux系统中nginx日志每天定时切割实现方法详解

Nginx日志切割