Linux 通过crontab 分割tomcat日志
近期总是遇到tomcat的catalina日志过大,导致无法直接打开。原因是因为没有对日志文件进行分割,导致业务量大时日志文件本身过大。网上有很多种日志分割方法。本文主要研究通过linux的crontab定时任务分割tomcat日志的步骤:
- 首先准备sh执行脚本
以下脚本为分割log_path下的catalina.out日志,将该日志挪移到log_path/cron目录下并重命名为catalina.out.当前日期.log
#!/bin/sh
#需要进行分割log的路径,该脚本一般只修改这个路径就可以用
log_path=/home/webapp/apache-tomcat-7.0.61/logs
#获取当前日期
d='date +%Y-%m-%d'
#获取30天前的日期
d90='date -d'30 day ago' +%Y-%m-%d'
#cd到log_path路径下 并copy 日志文件到cron目录下
cd ${log_path} && cp catalina.out $log_path/cron/catalina.out.$d.log
#清空原日志文件
echo > catalina.out
#移除30天前的日志文件
rm -rf $log_path/cron/catalina.out.${d90}.log
- crontab定时任务
将脚本文件保存为.sh后缀的文件,放到linux服务器上。可以先sh运行一下看是否报错,如果报文件找不到等错误,首先检查下路径是否是对的,如果路径没有问题,则需要检查sh文件格式,通过以下步骤检