步骤一:将 messages 日志的 logrotate 配置文件分离出来
# vim /etc/logrotate.d/syslog
删除以下内容:
......
/var/log/messages
......
步骤二:创建 messages 日志的 logrotate 配置文件
# vim /etc/logrotate.d/messages
创建以下内容:
/var/log/messages
/var/log/secure
/var/log/maillog
{
delaycompress
dateext
rotate 5
missingok
notifempty
weekly
create 755 root root
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
(
补充:这里以:
1) 影响的日志文件有 /var/log/messages、/var/log/secure 和 /var/log/maillog (/var/log/messages /var/log/secure /var/log/maillog)
2) 备份的日志文件以日期的形式结尾 (dateext)
3) 对备份的日志文件进行压缩 (delaycompress,默认使用 gz 格式进行压缩)
4) 备份的日志文件保留 5 份 (rotate 5)
5) 如果现有日志文件丢失,则不报错直接生成新的日志文件 (missingok)
6) 如果现有日志文件是空文件,则不再对日志文件进行备份 (notifempty)
7) 每周将现在的日志文件进行备份并生成新的日志文件 (weekly)
8) 日志文件权限是 0755 所属主是 root 所属组是 root (create 755 root root)
9) 在所有的现在的日志文件都备份并生成新的日志文件以后再统一执行脚本(sharedscripts,如果没有这个参数则每个日志文件在完成了这一动作后会各自单独执行脚本)
为例
)
步骤二:让创建的 messages 日志的 logrotate 配置文件生效
# systemctl restart rsyslog