在日常运维工作中我们常遇到tomcat的日志文件不断增长导致catalina.out日志文件上G占用大量磁盘空间。为了解决这个问题编写了下面的脚本来切割日志。下面的脚本配合cron机制实现每天切割一次日志并删除4天以前的日志。
tomcat的日志切割脚本及使用方法:tomcat安装位置为/usr/java/tomcat
1:建立cron文件夹
# mkdir /usr/java/tomcat/logs/cron
2:建立切割脚本并提权
# vi /usr/java/ql.sh
复制以下代码并保存,一下是保存近4天的日志
- #!/bin/bash
-
- log_path=/usr/java/tomcat/logs
-
- d=`date +%Y-%m-%d`
- d4=`date -d'4 day ago' +%Y-%m-%d`
- cd ${log_path} && cp catalina.out $log_path/cron/catalina.out.$d.log
- echo > catalina.out
- rm -rf $log_path/cron/catalina.out.${d4}.log
给脚本提权
# chmod 755 /usr/java/ql.sh
3:定制cron计划任务,每天0点执行脚本
# crontab -e
复制以下代码保存并退出
0 0 * * * /usr/java/ql.sh