日志轮替logrotate

  1. 字段解释如下
  2. 手工运行
  3. 对nginx进行日志轮替

在/etc/logrotate.d下新建一个文件tomcat,内容如下:

/home/tomcat/servers/tomcat7/logs/catalina.out {         
        daily                                                                           
        nocompress                                   
        copytruncate                                                             
        dateext                                                                        
        rotate 7                                                                     
        missingok                                                                                                                       
        notifempty                                                                 
        create 774 tomcat tomcat                                          
        postrotate                                  
                /usr/bin/killall -HUP rsyslogd
        endscript
}

字段解释如下

字段 解释
/home/tomcat/servers/tomcat7/logs/catalina.out #这个是分割日志的目标,用绝对路径 也能使用*.out
daily #每日分割
nocompress #不压缩
copytruncate #重命名原日志文件,创建新的日志文件
dateext #日期命名
rotate 7 #保存7天
missingok #忽略其他错误
notifempty #如果日志文件为空,轮循不会进行。
create 774 tomcat tomcat #新日志文件的权限
postrotate
/usr/bin/killall -HUP rsyslogd
endscript
#在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下, rsyslogd 进程将立即再次读取其配置并继续运行。

手工运行

logrotate -f /etc/logrotate.d/tomcat

执行完,日志立即给分割


对nginx进行日志轮替

/usr/local/nginx/logs/*.log {
        daily
        nocompress
        copytruncate
        dateext
        rotate 30
        missingok
        notifempty
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:日志轮替logrotate

本文作者:wangzhirui

发布时间:2019-11-06, 14:18:29

最后更新:2025-02-27, 02:04:04

原始链接:https://wangzhirui.com/2019/11/06/日志轮替logrotate/

转载请保留原文链接及作者。

目录