logrotate日志轮转工具
验证logrotate
手工执行
如果出现报错
则删除掉/var/lib/logrotate.status
再次执行
debug logrotate
如果系统messages日志出现logrotate: ALERT exited abnormally with [1]
则表明logrotate在执行日志轮转时候出现异常,有可能是部分logrotate配置错误导致报错。
这个消息的来源是/etc/cron.daily/logrotate
,在这个每日执行的定时脚本中有如下内容
注意:默认SELinux安全设置不允许logrotate轮转/var/log
目录之外的文件
/var/log
目录之外的文件如果使用logrotate来轮转非/var/log
目录下日志文件,由于SELinux限制logrotate访问没有SELinux文件上下文类型的目录,所以默认只能轮转具有var_log_t
文件上下文的/var/log
目录。
解决SELinux限制logrotate访问目录方法是为目录增加一个
var_log_t
的文件上下文
检查目录的安全上下文是使用
ls --scontext
命令,即
可以看到输出
所以,也类似设置其他需要logrotate轮转目录的文件上下文
诊断logrotate
首先检查
logrotate.status
文件
logrotate.status
文件记录了需要轮转监控的所有文件
通过debug模式运行logrotate
或者通过以下命令记录debug的信息
如果logrotate配置的轮转日志目标文件不存在,则会提示
ALERT exited abnormally with [1]
错误。
参考
Last updated