nginx使用 logrotate 切割日志 图文教程

大体上有三种方法切割nginx日志。

第一种是写个定时任务,每天零点把旧的日志重命名,并对nginx进程发送USR1信号使其重新打开日志并写入。

第二种是能过管道的方式把新产生的日志写到另外一个日志文件里。

第三种是能过logrotate来切割日志,logrotate是系统自带的服务,可以切割任何日志,不仅仅是nginx,这里推荐使用它。

下面我们详细讲一下Logrotate切割Nginx日志

[title]步骤1:[/title]

vi /etc/logrotate.d/nginx

文件内容如下

/usr/local/nginx/logs/access.log {   
daily 
rotate 7  
missingok 
notifempty 
dateext 
sharedscripts 
postrotate 
    if [ -f /usr/local/nginx/logs/nginx.pid ]; then
        kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` 
    fi
endscript 
}

[title]步骤2:测试是否可用[/title]

/usr/sbin/logrotate -f /etc/logrotate.d/nginx

[title]步骤3:配置定时任务[/title]

59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx

完成!

链接到文章: https://www.jiloc.com/43285.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注