环境介绍
操作系统:CentOS Linux release 7.6.1810 (Core)
软件版本:logrotate 3.8.6
logrotate简介
logrotate是linux默认自带的日志工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件
/usr/sbin/logrotate #程序所在位置;
/etc/cron.daily/logrotate #默认让cron每天执行logrotate一次;
/etc/logrotate.conf #全局配置文件;(通常不需要对它进行修改)
/etc/logrotate.d/ #应用自个的配置文件存放目录,覆盖全局配置;(日志文件独立的配置文件,它(们)放在此目录中)
1 | logrotate [OPTION...] <configfile> |
主流Linux发行版上都默认安装有logrotate包,如果你的linux系统中找不到logrotate, 可以使用apt-get或yum命令来安装
1 | yum install -y logrotate |
logrotate日志切割
logrotate配置过程
在/etc/logrotate.d下创建tomcat-direct文件,内容如下
1 | /data/direct-tomcat-8501/logs/catalina.out{ #要切割的日志路径,如果是多个就用空格分隔 |
参数说明
以下信息可通过man logrotate获取
| 配置参数 | 说明 |
|---|---|
| daily | 日志文件将按天轮循 |
| weekly | 日志文件将按周轮循 |
| monthly | 日志文件将按月轮循。其它可用值还有yearly。 |
| dateext | 归档旧版本的日志文件,添加像 YYYYMMDD 这样的每日扩展名 |
| rotate 5 | 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。 |
| compress | 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。 |
| delaycompress | 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。 |
| missingok | 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。 |
| notifempty | 如果日志文件为空,轮循不会进行。 |
| create 644 root root | 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。 |
| prerotate/endscript | 在切分之前需要执行的命令可以放入这个对,这两个关键字必须单独成行 |
| postrotate/endscript | 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。 |
| size | 满足size就滚动一次,(没有滚动周期概览,n次) |
| maxsize | 每满足maxsize就滚动一次,不满足则滚动1次,(每个滚动周期内,n次或1次) |
| minsize | 满足minsize则滚动一次,不满足则滚动0次,(每个滚动周期内,1次或0次) |
| maxage | 自动删除掉超过maxage指定天数的归档文件 |
测试logrotate
1 | logrotate /etc/logrotate.conf #调用/etc/lograte.d/下配置的所有日志 |
logrotate自动执行的时间配置
由于依赖于cron的执行,可以通过修改 /etc/anacrontab的参数来配置。注意!此配置会影响所有通过logrotate轮训的日志
1 | # /etc/anacrontab: configuration file for anacron |
逻辑流程
crond服务加载/etc/cron.d/0hourly —>在每小时的01分执行/etc/crond.hourly/0anacron —>执行anacron —>根据/etc/anacrontab的配置执行/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly —>执行/etc/cron.daily/下的logrotate脚本 —>执行logrotate —>根据/etc/logrotate.conf配置执行脚本/etc/logrotate.d/tomcat-direct —>分割日志成功
原文链接:https://blog.csdn.net/qq_26711103/article/details/107049757
https://www.haozhuji.com.cn/jc/jingyan/64332.html
https://blog.csdn.net/sinat_36358653/article/details/107390349