logrotate轮询nginx日志

  • A+
所属分类:Linux

Linux日志文件如果不定期清理,会填满整个磁盘。这样会很危险,因此日志管理是系统管理员日常工作之一。我们可以使用”logrotate”来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能。下面以nginx日志文件来讲解下logrotate的用法。

在/etc/logrotate.d/目录下创建一个配置文件”nginx”,内容如下:

#vim /etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log {
daily
rotate 5
missingok
dateext
compress
notifempty
sharedscripts
postrotate
    [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` ]
endscript
}

注释:
/usr/local/nginx/logs/*.log:需要轮询日志路径
daily:每天轮询
rotate 5:保留最多5次滚动的日志
missingok:如果日志丢失,不报错继续滚动下一个日志
dateext:使用日期作为命名格式
compress:通过gzip压缩转储以后的日志
notifempty:当日志为空时不进行滚动
/var/run/nginx.pid: nginx pid位置,请查看nginx.conf
postrotate/endscript:在截断转储以后需要执行的命令

立即截断可执行下面

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

注:
由于logratate已经加到cron.daily(/etc/cron.daily/logrotate),不再需要加到计划任务中

Thu Apr 18 09:33:18 CST 2013

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  2   博主  1

    • avatar 邢台网站建设

      compress:通过gzip压缩转储以后的日志
      不添加这条命令可以么?就是在前面加个#号就注释掉了是么?
      因为看到张戈博客中自动创建百度搜索引擎死链的方法比较不错,所以不想压缩,如果后期您能优化成在压缩之前就编辑处理掉当天的404页面,那当然更好了,因为我看本文中介绍是每天轮询,但是并没有具体的时间点。感谢