logrotate - 如何防止日志变得太大?

分享于 

2分钟阅读

ubuntu

  繁體

使用logrotate是处理日志文件的常用方法,但不应该将内容添加到/etc/logrotate.conf,而是应该添加到/etc/logrotate.d/,否则,在升级后必须查看配置文件。

下面是我为php脚本创建的一个例子:


/var/log/some-php-app/*.log {


 daily


 rotate 10


 delaycompress


 compress


 notifempty


 missingok


}



  • /var/log/some-php-app/*.log是日志文件所在的路径,可以使用通配符将规则应用于多个日志文件
  • daily -每天回滚日志文件,备选方案:hourly, weekly, monthly, yearly, maxsize, maxage
  • rotate count-文件在被删除之前被回滚count次
  • delaycompress-将上一个日志文件的压缩推迟到下一个回滚周期。
  • compress -使用gzip压缩旧版本的日志文件,
  • notifempty -如果日志为空,就不回滚日志
  • missingok-当日志文件丢失时,继续执行下一个回滚作业而不发出错误消息

可以在/etc/logrotate.conf中设置日志的大小


/path/to_big.log {


 size 1k


 create 700 user group


 rotate 1


}



在此示例中,我们指定日志的路径,要限制它的大小,替换日志的权限以及要保留多少个副本。



PRE  log  logs  Logrotate  
相关文章