linux下日志管理工具--logrotate
配置
/usr/local/nginx/logs/*.log {
daily
dateext
rotate 1
olddir /usr/local/nginx/other/logs
missingok
notifempty
compress
sharedscripts
postrotate
/bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/null) 2>/dev/null ||:
endscript
}
dateext
:文件后缀是日期格式,也就是切割后文件是:xxx.log-20150529(.gz) 这样,如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1(.gz)monthly
: 日志文件将按月轮循。其它可用值为‘daily’,‘weekly’或者‘yearly’。rotate n
: 一次将存储n
个归档日志。对于第n=1
个归档,时间最久的归档将被删除。compress
: 在轮循任务完成后,已轮循的归档将使用gzip
进行压缩。相反的命令是nocompress
delaycompress
: 总是与compress
选项一起用,delaycompress
选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。missingok
: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。notifempty
: 如果日志文件为空,轮循不会进行。相反命令ifempty
是缺省值prerotate/endscript
:在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行postrotate/endscript
:在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行sharedscripts
:所有的日志文件都轮转完毕后统一执行一次脚本olddir
转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
操作
路径/etc/logrotate.conf
为默认的配置路径,配置特定的日志处理,一般放在/etc/logrotate.d/
下。在logrotate.conf
中 使用include path
包含对应路径
要调用为/etc/lograte.d/
下配置的所有日志调用logrotate
:
logrotate /etc/logrotate.conf
要为某个特定的配置调用logrotate
logrotate /etc/logrotate.d/log-file
排障过程中的最佳选择是使用-d
选项以预演方式运行logrotate
。要进行验证,不用实际轮循任何日志文件,可以模拟演练日志轮循并显示其输出。
logrotate -d /etc/logrotate.d/log-file
即使轮循条件没有满足,我们也可以通过使用-f
选项来强制logrotate轮循日志文件,-v
参数提供了详细的输出。
logrotate -vf /etc/logrotate.d/log-file
参考文档:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。