背景简介
在实际项目中由于服务器内存有限,人工制定的定时清理时常会忘记。因此启用linux系统定时任务去执行日志清理功能。引用文献
1.创建shell脚本及执行权限
touch clean.sh //创建脚本文件
用vi 指令创建好后,需要在里面加上如下内容
#!/bin/bash
logs_path="/****/logs"
find $logs_path -mtime +2-name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "host-manager.*.log" -exec rm -rf {} \;
>$logs_path/catalina.out;
然后保存就好了
需要使用chmod 指令把权限换成 755 下面附上linux指令
chmod 755 clean.sh //修改执行权限
然后我们可以进入 你的tomcat 的logs目录下,使用 下面指令查看下当前你目录下log文件数量
然后我们直接执行刚才写好的shell脚本
./clean.sh
然后再次查看文件数量,发现已经清理掉了,说明shell脚本没问题
2.脚本没问题后就可以开始写定时任务了
所以我们先通过下面指令设置定时任务
crontab -e
操作方式和vi编辑器一样,每月1号凌晨2点执行,只保最近30天日志
0 2 1 * * sh /home/linux/fingerlink/tomcat/apache-tomcat-7.0.75/logs/clean.sh
然后保存退出,然后
使用指令重启crontab 服务,让配置生效
service crond restart