• logrotate 清理tomcat日志


    rsyslog  
    
    tomcat 服务器:
    192.168.32.215
    
    input(type="imfile"
    File="/usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out"
    Tag="zjtest-api01"
    Severity="info"
    Facility="local5")
    local5.* @@192.168.32.76:514
    
    
    rsyslog 日志服务器:
    
    192.168.32.76
    
    $EscapeControlCharactersOnReceive off      #关闭rsyslog默认转译ASCII<32的所有怪异字符,包括换行符等
    $template nginx-zjzc01,"/rsyslog/data/nginx/zjzc/nginx_access01_log.%$year%-%$month%-%$day%"       #定义TC:日志存放路径
    $template nginx-zjzc02,"/rsyslog/data/nginx/zjzc/nginx_access02_log.%$year%-%$month%-%$day%"            #定义TCBeta:日志存放路径
    $template nginx-uat01,"/rsyslog/data/nginx/uat/nginx_access01_log.%$year%-%$month%-%$day%"            #定义TCBeta:日志存放路径
    $template tocFormat,"'%syslogtag%','%FROMHOST-IP%','%msg%'
    "                  #定义toc日志format
    $template uat-zjzc01,"/rsyslog/data/mysql/uat/mysql01_slow_log.%$year%-%$month%-%$day%"            #定义TCBeta:日志存放路径
    $template zjtest-api01,"/rsyslog/data/tomcat/zjtest/api01_log.%$year%-%$month%-%$day%"            #定义TCBeta:日志存放路径
    
    
    :rawmsg,contains,"nginx-zjzc01"  -?nginx-zjzc01;tocFormat                 #接受TC:日志,并应用tocFormat格式
    :rawmsg,contains,"nginx-zjzc02"  -?nginx-zjzc02;tocFormat        #接受TCBeta:日志,并应用tocFormat格式
    :rawmsg,contains,"uat-nginx"  -?nginx-uat01;tocFormat        #接受TCBeta:日志,并应用tocFormat格式
    
    
    :rawmsg,contains,"uat-mysql01"  -?uat-zjzc01;tocFormat
    :rawmsg,contains,"zjtest-api01"  -?zjtest-api01;tocFormat
    
    
    
    
    正常情况下,192.168.32.215上的日志能发送到日志服务器
    
    v-test-app01:/usr/local/apache-tomcat-7.0.55_8082/logs> >catalina.out
    v-test-app01:/usr/local/apache-tomcat-7.0.55_8082/logs> tail -f catalina.out
    
    用这种方式截断日志,就会破坏rsyslog 发送日志
    
    需要重启tomcat端的rsyslog 服务,才能继续同步
    
    
    下面介绍使用:Linux下Tomcat日志定期清理 及 logrotate 配置
    
    v-test-app01:/root# vim /etc/logrotate.conf 
    
    /usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out {
    #rotate 7 表示保留7天的备份文件
    rotate 14
    #daily 表示每天整理一次 
    daily
    #copytruncate 表示先复制log文件的内容,然后再清空
    copytruncate
    #compress 表示压缩备分文件
    compress
    notifempty
    missingok
    }
    
    /usr/sbin/logrotate -f /etc/logrotate.conf
    
    
    这样清理日志就可以正常同步

  • 相关阅读:
    Python学习--10 面向对象编程
    Python学习--09 模块
    Python学习--08函数式编程
    JSON的简单例子
    error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.
    Failed to create the Java Virtual Machine.问题的解决
    导入项目时Loading descriptor ...
    Tomcat Server Timeouts属性的设置
    Type mismatch: cannot convert from java.sql.PreparedStatement to com.mysql.jdbc.PreparedStatement
    MySQL的Incorrect string value错误
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350408.html
Copyright © 2020-2023  润新知