一、在tomcat的log路径下新建.sh脚本文件clean.sh,内容如下:
#!/bin/bash
logs_path="/mnt/tomcat/apache-tomcat-8.5.23/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 {}
\;
find $logs_path -mtime +30 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "host-manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "fileservice.log.*" -exec rm -rf {} \;
>$logs_path/catalina.out;
其中,logs_path要根据自身log路径配置。
二、为clean.sh文件添加权限
chmod 777 /mnt/tomcat/apache-tomcat-8.5.23/logs/clean.sh
三、开启定时执行clean.sh脚本进行清理任务
crontab -e进入定时任务的编辑界面中
添加这行(每月1号凌晨2点执行):
0 2 1 * * sh
/mnt/tomcat/apache-tomcat-8.5.23/logs/clean.sh
【说明】
crontab 要安装两个软件包:
vixie-cron 及 crontabs
直接执行
yum install vixie-cron
yum install crontabs(这句可能不需要,但是你先试试也无关紧要)
本文介绍了如何在Linux CentOS系统中,通过创建一个名为clean.sh的shell脚本来自动清理Tomcat日志文件。脚本使用find命令查找30天前的日志并删除,包括localhost、localhost_access_log、catalina、manager、host-manager和fileservice.log等类型。接着,通过chmod设置脚本权限,并使用crontab在每月1号凌晨2点执行该脚本,确保日志文件定期清理。安装vixie-cron和crontabs软件包是设置crontab的前提。
1879

被折叠的 条评论
为什么被折叠?



