找到文件: /var/lib/logrotate/logrotate.status
请勿进入此文件直接进行删除,找病先找根
先查询是否进行中:
cat /var/lib/logrotate/logrotate.status
logrotate.status内容:
logrotate state -- version 2
"/var/log/dpkg.log" 2024-5-1-3:30:1
"/var/log/yum.log" 2024-4-2-3:41:1
"/var/log/firewalld" 2024-4-2-3:0:0
"/var/log/boot.log" 2024-8-12-15:44:1
"/var/log/devicelog/*/*.log" 2024-8-13-10:0:0
"/var/log/wtmp" 2024-8-13-10:0:0
"/var/log/chrony/*.log" 2024-4-2-3:0:0
"/var/log/spooler" 2024-8-12-15:44:1
"/var/log/btmp" 2024-8-1-11:46:2
"/var/log/maillog" 2024-8-12-15:44:1
"/var/log/wpa_supplicant.log" 2024-4-2-3:0:0
"/var/log/secure" 2024-8-13-10:36:50
"/var/log/messages" 2024-8-12-15:44:1
"/var/log/cron" 2024-8-12-15:44:1
以上是在轮转中的任务
如果更新配置想更新轮转任务执行:
logrotate -f /etc/logrotate.conf
如果您已经将配置放入了 /etc/logrotate.d/指定执行
:
logrotate -f /etc/logrotate.d/devicelog-specific.conf
如何要测试配置是否正常运行测试执行:
sudo logrotate -d /etc/logrotate.conf
重新运行:
sudo logrotate /etc/logrotate.conf
进入/etc/logrotate.d/配置日志轮转
下列配置日志轮转任务模版,根据自己所需要的进行更改设置即可:
/var/log/devicelog.log {
daily # 每天轮转一次 rotate 7 # 保留7个备份
missingok # 如果日志文件丢失,不报错继续下一个
notifempty # 如果日志文件为空,不进行轮转
compress # 轮转后压缩日志文件
delaycompress # 保留一份未压缩的备份
create 0640 root adm # 轮转后创建新文件,并设置权限和所有者
dateext # 使用日期作为日志文件的扩展名
sharedscripts # 对所有日志文件执行相同的脚本
postrotate # 轮转后执行的命令,如重启服务
/bin/systemctl reload rsyslog.service > /dev/null 2>&1 || true endscript
}
如果因为日志过大或者日志重复内容过多则执行一下命令:
把有关的日志 " " 中的内容去重导入/tmp下的a.txt文件中
cat /var/log/secure | grep "pam_unix" | sort -u > /tmp/a.txt