Linux系统实现log日志自动清理

背景简介

在实际项目中由于服务器内存有限,人工制定的定时清理时常会忘记。因此启用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

你可能感兴趣的:(linux,linux,定时任务,保留最近30天日志)