当前位置: > Linux服务器 > nginx >

nginx中使用logrotate管理日志的方法分享

时间:2014-09-26 08:49来源:linux.it.net.cn 作者:it

本文以nginx日志文件为例,讲解下logrotate日志管理工具的用法。

配置:
1、在/etc/logrotate.d目录下,创建一个用于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,并重新生成日志文件。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容