1、登录系统,执行 echo "kylin debug 20211116" >> /var/log/messages命令
2、执行命令 logrotate -v /etc/logrotate.conf 进行日志分割
3、执行grep "kylin debug 20211116" /var/log/messages* 命令,messages日志中无记录,messages-20211116 日志中存在记录
4、执行 reboot 命令
5、登录系统,执行 grep "kylin debug 20211116" /var/log/messages* 命令,发现messages和messages-20211116文件中都存在echo "kylin debug 20211116" 的日志记录
该问题原因为rsyslog的状态记录文件StateFile被配置在/run目录下,每次系统重启后重新生成,rsyslog无法获取之前日志记录状态从而引发日志重复记录。解决该问题需要将StateFile配置在非临时文件系统的路径中,如rsyslog默认工作路径/var/lib/rsyslog,解决日志重复记录的问题。
升级rsyslog软件包至rsyslog-8.1907.0-5.p02.ky10以上版本
# yum update rsyslog
重新加载服务配置文件
# systemctl daemon-reload
确认服务状态正常
# systemctl status rsyslog