我正在配置我的一台生产服务器的日志轮换。我遇到了一个奇怪的问题。我已配置了文件的每日日志轮换。
但不幸的是,轮换不起作用。我检查了“/var/lib/logrotate/logrotate.status”的状态,它显示文件已成功轮换。但事实并非如此
cat /var/lib/logrotate/logrotate.status
logrotate state -- version 2
"/var/log/yum.log" 2019-1-4-14:0:0
"/var/log/chef/client.log" 2019-4-14-3:33:2
"/var/log/boot.log" 2019-1-10-3:46:1
"/usr/local/rms/kafka/kafka-connect-fluentd/stdout.log" 2019-4-15-3:9:1
"/var/log/chrony/*.log" 2019-1-4-14:0:0
"/var/log/wtmp" 2019-1-4-14:0:0
"/var/log/spooler" 2019-4-14-3:33:2
"/var/log/btmp" 2019-1-4-14:0:0
"/var/log/telegraf/telegraf.log" 2019-1-10-3:0:0
需要旋转的文件是:/usr/local/rms/kafka/kafka-connect-fluentd/stdout.log
日志轮换配置文件:
/usr/local/rms/kafka/kafka-connect-fluentd/stdout.log {
daily
copytruncate
rotate 7
compress
postrotate
/bin/kill -HUP `cat /usr/local/rms/kafka/kafka-connect-fluentd/connector.pid 2> /dev/null` 2> /dev/null || true
endscript
}
答案1
尝试使用我的 logrotate 文件:这会根据日期轮换 apache 的日志,如果它在 2019 年结束,它会在删除这些文件之前压缩它们。
/var/log/apache2/*.log {
daily
create 0640 root root
su root adm
rotate 2
missingok
compress
delaycompress
dateext
dateformat -%d-%m-%Y.log
notifempty
sharedscripts
postrotate
gzip /var/log/apache2/*-2019.log
service apache2 restart
rm /var/log/apache2/*.gz
endscript
}
如果要检查或强制执行 logrotate,请执行以下命令:
logrotate -vf /etc/logrotate.d/name_of_your_file
使用详细模式,您将能够看到那里发生的事情
希望这会有所帮助。