Tomcat服务器下catalina.out日志文件定时按日期切割

项目随着时间变化,tomcat下的日志文件会变的越来越大,全部堆积再catalina.out下,想要查看某日的日志显得非常困难。因此我们需要对这个文件进行定时切割,按每日日期存放。

编写shell脚本

我们在tomcat目录下的bin下编写一个shell脚本,名字可以自己定义,代码如下

1
vi back_catalina_out.sh

在里面复制以下内容

1
2
3
4
5
6
7
#!/bin/bash
log_path=/tomcat/logs
d=`date +%Y-%m-%d`
d30=`date -d'30 day ago' +%Y-%m-%d`
cd ${log_path} && cp catalina.out $log_path/catalina.out.$d.log
echo > catalina.out
rm -rf $log_path/catalina.out.${d30}.log

上述脚本意思就是将当前日志文件复制保存为按日期命名的文件,然后删除30天以前的日志文件

建立定时任务

执行命令进入定时任务编辑

1
crontab -e

添加如下内容进去,每天凌晨0点执行我们刚写的shell脚本

1
0 0 * * * /tomcat/bin/back_catalina_out.sh

保存即可,这样每天零时就会把当前catalina.out按日期存档(如catalina.out.2017-04-16.log)

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×