messates日志轮转(追加属性)

目的:为日志文件增加属性,可以保护日志文件

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程序。进行轮转测试
避免日志被误删除

你可能感兴趣的:(messates日志轮转(追加属性))