在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