linux上Tomcat日志catalina.out过大问题
解决方式使用logrotate来管理文件
首先需要安装logrotate 见参考地址
1、配置logrotate
这里小白使用CentOS6U5自带的logrotate程序来解决catalina.out的日志轮转问题。这种方式比较简单。在/etc/logrotate.d/目录下新建一个名为tomcat_tyzc的文件
# catalina.out地址
/usr/local/apache-tomcat-7.0.88-hntyzc/logs/catalina.out{
copytruncate # 创建新的catalina.out副本后,截断源catalina.out文件
daily # 每天进行catalina.out文件的轮转
rotate 14 # 至多保留14个副本
missingok # 如果要轮转的文件丢失了,继续轮转而不报错
compress # 使用压缩的方式(非常有用,节省硬盘空间;一个2~3GB的日志文件可以压缩成60MB左右)
notifempty # 为空不进行
size 30M # 当catalina.out文件大于30MB时,就轮转
}
2、配置参数说明
3、运行机制
- 每天晚上crond守护进程会运行在/etc/cron.daily目录中的任务列表;
- 与logrotate相关的脚本也在/etc/cron.daily目录中。运行的方式为"/usr/bin/logrotate
/etc/logrotate.conf"; - /etc/logrotate.conf文件include了/etc/logrotate.d/目录下的所有文件。还包括我们上面刚创建的tomcat文件;
- /etc/logrotate.d/tomcat文件会触发/usr/local/apache-tomcat-8.0.28/logs/catalina.out文件的轮转。
以上是程序自动完成的,不需要我们干预。当然了,我们也可以使用手工的方式进行logrotate程序。在命令行进行如下运行:
logrotate /etc/logrotate.conf
或者只轮转刚刚的tomcat配置文件,可以这样运行:
logrotate --force /etc/logrotate.d/tomcat_tyzc
-- 命令二
logrotate -v -f tomcat
-- 常用操作单个
添加定时任务
[root@bastion-IDC ~# crontab -e
#logrotate
0 0 * * * /bin/bash -x /usr/local/sbin/logrotate-nginx.sh > /dev/null 2>&1
参考地址:
https://www.cnblogs.com/clsn/p/8428257.html
https://blog.51cto.com/lavenliu/1765791