定时计划命令 crontab 的使用,解决 Tomcat 日志定时清理问题
如果我的文章对您产生了帮助,我将非常开心,欢迎关注我的Github,欢迎访问我的博客,欢迎star。
背景
问题
一个之前的项目,客户使用一年后,数据库执行SQL语句出现问题,报错The table xxxx is full
,表空间满了。
解决过程
检查服务器,发现服务器磁盘满了,但是用户数据只有7GB左右,硬盘是40GB的。找到Tomcat日志占空间32GB,清理Tomcat日志后程序正常运行。
完善
编写清理日志的bash脚本,并使用crontab定时一个月执行一次,清理本月之前的日志。保留本月日志以排查问题。
详细过程
清理日志的脚本
放在tomcat目录下的logs文件夹里即可。logs_path请自行替换。
#!/bin/bash
logs_path="/usr/local/apache-tomcat-8.5.31/logs"
find $logs_path -mtime +30 -name "localhost.*.log" -exec rm -rf {
} \;
find $logs_path -mtime +30 -name "localhost_access_log.*.txt" -exec rm -rf {
} \