Linux设置jar包定时删除分割的日志
1.删除过期日志的shell脚本
days=90
echo " start to delete over ${days} days versions"
find * -name '日志包名_*.log' -mtime +${days}
find /日志的路径/ -mtime +${days} -name "日志包名_*.log" -exec rm -rf {} \;
echo " success delete over ${days} days versions"
2.给脚本可执行的权限
chmod +X delete-log.sh
3.设置定时任务
使用crontab设置定时任务,使用命令crontab -e进入编辑页面,键入下面的内容。
0 5 * * * {shell脚本路径}/split-log.sh
1 5 * * * {shell脚本路径}/delete-log.sh
补充说明: 如果是想使用分钟,用**-mmin**,然后加上分钟,如果是使用天数**-mtime**,后接 +30:查找30天前的文件,这里用数字代表天数; e.g: Linux下自动删除2小时之前的日志文件
find /日志路径/ -mmin +120 -name message* -exec rm -rf {} \;
执行完上面的命令后,在/var/log/目录下所有的120分钟或者说2小时以前生成的或者更改过的以message开头的日志文件都会被删掉。 如果要删除两小时之内的日志文件,使用下面的命令:
find /var/log/ -mmin -120 -name message* -exec rm -rf {} \;
4.启动脚本
sh delete_log.sh start
5.若出现语法错误,则使用如下命令
yum -y install dos2unix
dos2unix 文件名
|