随着业务发展,catalina.out 越来越大,运维很不方便
记录我自己对catalina.out切割的一次实践
1.切割脚本cut_log.sh:
#!/bin/bash
cd `dirname $0`
DATE=`date +%Y-%m-%d`
DATE30=`date -d '30 days ago' +%Y-%m-%d`
cd /server/tomcat/logs/
ls others >/dev/null 2>&1
if [ $? != 0 ];then
mkdir others
fi
find . -type f -mtime +30 -exec rm -f {} \;
cp catalina.out catalina.out.${DATE}
echo "" > catalina.out
其中/server/tomcat/logs/对应改为自己的tomcat日志文件路径
将脚本放入tomcat bin目录下
编辑好脚本后需需要给脚本一个权限 chmod +x
2.执行测试下是否可以使用
./cut_log.sh
如果出现No such file or directory
用vim打开该sh文件,输入:
[plain]
:set ff
回车,显示fileformat=dos,重新设置下文件格式:
[plain]
:set ff=unix
保存退出:
[plain]
:wq
再执行,就可以了
3.将此脚本加入linux自带的定时任务中
55 23 * * * /home/tomcat/bin/cut_log.sh
注:这个命令的意思是在23点55分执行此脚本,具体的时间规则可以参阅:https://www.jianshu.com/p/12bdd9c180c6
这边教大家几个查询定时任务的命令
crontab -e 编辑定时任务
crontab -l 查看当前用户创建的定时任务
sudo service crond start 启动定时任务
sudo service crond restart 重启定时任务
sudo service crond stop 停止定时任务
cat /var/log/cron 查看定时任务执行日志
4.切割后的日志文件格式如图
实践过程中要注意的就是我所提到的对应自己tomcat日志路径的地方其他没有什么复杂的地方
不多说了,搬砖了