消息日志未通过 logrotate 配置轮换
messages log is not rotated via logrotate config
我按照我在网上找到的一些说明通过旋转 aws ec2 实例来应用日志轮换,我发现在 /var/log/messages 上应用它的最简单方法是通过这种格式:
[root@ip-192-168-1-69 ~]# cat /etc/logrotate.d/messages
/var/log/messages {
daily
create 0600 root root
rotate 3
size=1M
compress
delaycompress
notifempty
}
我还不知道 logrotate 什么时候会发生,所以我在第二天检查了一下,看到了这个结果
[root@ip-192-168-1-69 ~]# ls -ltrh /var/log/messages*
-rw------- 1 root root 0 May 24 13:25 /var/log/messages
-rw------- 1 root root 16M May 25 06:09 /var/log/messages-20210510
它确实轮换了,但是我注意到新日志现在转到 /var/log/messages-20210510 而不是 /var/log/messages,并且在第 2 天和第 3 天检查没有发生 tgz 日志轮换。 /var/log/messages-20210510 仍然不断更新新日志。
我从 /etc/logrotate.d 看到了这个配置,我不确定这是否与我创建的配置冲突
[root@ip-192-168-1-69 ~]# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
请分享我错过的地方并提出建议,在此先感谢
似乎从全局配置中添加了一些不需要的指令。我建议您使用您提到的配置手动轮换日志(使用以下命令)。它会清楚地告诉您您的配置是否按预期工作,以进一步调试问题。
$ sudo logrotate /etc/logrotate.d/messages
如果此命令也没有给您预期的输出,请尝试在底部的 /etc/logrotate.d/rsyslog
文件中添加以下配置。
/var/log/messages {
daily
create 0600 root root
rotate 3
size 1M
compress
delaycompress
notifempty
}
现在再次尝试使用 logrotate
命令手动旋转日志。我觉得应该可以。
注意:不要忘记从 rsyslog
文件
中的常用配置中删除现有行 /var/log/messages
我按照我在网上找到的一些说明通过旋转 aws ec2 实例来应用日志轮换,我发现在 /var/log/messages 上应用它的最简单方法是通过这种格式:
[root@ip-192-168-1-69 ~]# cat /etc/logrotate.d/messages
/var/log/messages {
daily
create 0600 root root
rotate 3
size=1M
compress
delaycompress
notifempty
}
我还不知道 logrotate 什么时候会发生,所以我在第二天检查了一下,看到了这个结果
[root@ip-192-168-1-69 ~]# ls -ltrh /var/log/messages*
-rw------- 1 root root 0 May 24 13:25 /var/log/messages
-rw------- 1 root root 16M May 25 06:09 /var/log/messages-20210510
它确实轮换了,但是我注意到新日志现在转到 /var/log/messages-20210510 而不是 /var/log/messages,并且在第 2 天和第 3 天检查没有发生 tgz 日志轮换。 /var/log/messages-20210510 仍然不断更新新日志。
我从 /etc/logrotate.d 看到了这个配置,我不确定这是否与我创建的配置冲突
[root@ip-192-168-1-69 ~]# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
请分享我错过的地方并提出建议,在此先感谢
似乎从全局配置中添加了一些不需要的指令。我建议您使用您提到的配置手动轮换日志(使用以下命令)。它会清楚地告诉您您的配置是否按预期工作,以进一步调试问题。
$ sudo logrotate /etc/logrotate.d/messages
如果此命令也没有给您预期的输出,请尝试在底部的 /etc/logrotate.d/rsyslog
文件中添加以下配置。
/var/log/messages {
daily
create 0600 root root
rotate 3
size 1M
compress
delaycompress
notifempty
}
现在再次尝试使用 logrotate
命令手动旋转日志。我觉得应该可以。
注意:不要忘记从 rsyslog
文件
/var/log/messages