zoukankan      html  css  js  c++  java
  • 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  
    }
    


    
                                        
    
  • 相关阅读:
    强迫症
    bzoj1758 [Wc2010]重建计划
    bzoj1070 [SCOI2007]修车
    bzoj3675 [Apio2014]序列分割
    bzoj1010 [HNOI2008]玩具装箱toy
    bzoj3697 采药人的路径
    bzoj2152 聪聪可可
    bzoj2599 [IOI2011]Race
    Ubuntu 18.04 LTS 下 GTK3 安装与编译
    启动或重启 dnsmasq 提示端口 53 被占用的解决方案
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350407.html
Copyright © 2011-2022 走看看