目的:为日志文件增加属性,可以保护日志文件
1.删除/var/logmessages这一行
[root@nas /]# vim /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages 删除
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
准备工作:删除原有的 /etc/logrotate.d/syslog,关于messages的行。
避免不同的规则互相影响。
2.设置轮转 vim /etc/logrotate.d/messages
/var/log/messages {
#notifempty
daily
create 0600 root root
missingok
rotate 5
}
2.1测试
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
ll /var/log/message*
-rw------- 1 root root 0 Apr 24 19:43 /var/log/messages
-rw-------. 1 root root 1008527 Apr 24 19:40 /var/log/messages-20180424
发现轮转成功
3.设置追加属性
chattr +a /var/log/messages
3.1测试
修改时间再次手动轮转,发现轮转失败
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status >/etc/logrotate.conf
4.设置轮转脚本
[root@nas /]# vim /etc/logrotate.d/messages
/var/log/messages{
prerotate
chattr -a /var/log/messages
endscript
#notifempty
daily
create 0600 root root
missingok
rotate 5
postrotate
chattr +a /var/log/messages
endscript
}
5.总结 :
chattr的a属性只能以追加rsyslog程序。进行轮转测试
避免日志被误删除