Tomcat 日志切割

在catalina.sh的 PRGDIR 下面一行添加 CATALINAPID 参数行:
[root@localhost]# cd /app/tomcat-1/bin/
[root@localhost bin]# vim catalina.sh
PRGDIR=`dirname "$PRG"`
CATALINA_PID=$PRGDIR/tomcat.pid        


[root@localhost bin]# catalina.sh stop  &&  catalina.sh start


[root@localhost bin]# vim /etc/logrotate.d/tomcat
/app/tomcat-*/logs/catalina.out{
    daily                        # 转储周期分别是每天(daily)/每周(weekly)/每月(monthly)
    rotate 15                    # 轮转存储中包含多少备份日志文件,0为无备份,以数字为准(天)
    missingok                    # 如果日志文件丢失,不要显示错误
    notifempty                   # 如果日志文件为空,则不转储
    copytruncate                 # 用于还在打开中的日志文件,把当前日志备份并截断
    dateext                      # 轮询的文件名字带有日期信息
    compress                     # 通过gzip压缩转储以后的日志,以*.gz结尾
    dateformat -%Y-%m-%d         # 配合dateext使用可以为切割后的日志加上YYYYMMDD格式的日期
    postrotate
    	if [ -f /app/tomcat-*/bin/tomcat.pid ]; then
        	kill -USR1 `cat /app/tomcat-*/bin/tomcat.pid`
    	fi
    endscript
}


prerotate/endscript       # 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行;
postrotate/endscript      # 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行;



# 手动测试日志切割
[root@localhost bin]# /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat & >/dev/null
posted @ 2021-11-02 10:42  Linux大魔王  阅读(314)  评论(0编辑  收藏  举报