logrotate 日志清理后 rsyslog中断问题

<pre name="code" class="html">随后配置logrotate的配置文件/etc/logrotate.conf,加入下面的内容:
/var/log/ipwall/messages.log {   #日志路径一定要和rsyslog定义的日志文件路径一致
        rotate 65535             #滚动65535次
        create 0777 syslog adm   #设置权限,方便windows连接samba服务器
        compress                 #采用压缩
        size 50M                 #文件大小50M以上的分割日志
        dateext
        dateformat .%s           #定义文件切割后的文件名,必须配合dateext使用
        postrotate
        /bin/kill -HUP $(/bin/cat /var/run/rsyslogd.pid 2>/dev/null) &>/dev/null
        endscript
}
    在这里一定要加posrotate/endscript这段脚本,这样可以使rsyslog程序重新读取配置文件,这样做的作用是让rsyslog程序释放对messages.log文件持有的文件描述符,否则即使日志文件被分割后,rsyslog也不会向新产生的日志文件写数据。


经测试还是这种方法好:
v-test-app01:/root/sbin# cat logrotate.sh 
. ~/.bash_profile
/usr/sbin/logrotate -f /etc/logrotate.conf
kill -9 `ps -ef | grep rsyslogd | grep -v grep | awk '{print $2}'`
rm -rf /var/run/rsyslogd.pid
rsyslogd -f /etc/rsyslog.conf
v-test-app01:/root/sbin# cat /etc/logrotate.
cat: /etc/logrotate.: No such file or directory
v-test-app01:/root/sbin# cat /etc/logrotate.conf 
/usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out {  
#rotate 7 表示保留7天的备份文件
rotate 1  
#daily 表示每天整理一次 
daily  
#copytruncate 表示先复制log文件的内容,然后再清空
copytruncate  
#compress 表示压缩备分文件
compress  
#如果是空文件的话,不转储
notifempty  
#如果指定的目录不存在,logrotate会报错,此项用来关闭报错
missingok  
}


 

转载于:https://www.cnblogs.com/zhaoyangjian724/p/6199376.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值