linux设置定时清理日志文件脚本
前言
当我们在生产过程中,都会遇到诸如此类的问题。定时清理日志成为了必不可少的一步骤!
一.定时清理简述
当我们要定期的备份以及删除时,我们需要写一个shell 脚本,然后用 crontab 来每天定期执行。
二.定时脚本编写
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
实例命令:
删除/opt/soft/log/目录下30天前所有".log"结尾的文件:
find /usr/local/tomcat/logs/ -type f -name "*.log" -mtime +30 -exec rm -rf {} \;
具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-type f:文件类型,f是文件
-name "*.log":希望查找的数据类型,"*.log"表示查找扩展名为log的所有文件;
-mtime:标准语句写法;
+30:查找30天前的文件,这里用数字30代表天数;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格+\+;
(注意:可添加:0 */1 * * * echo “Have a break now.” >>
/usr/local/myScript/logs/test.txt 每一个小时往test.txt中插入一条数据,主要用于测试是否执行该脚本。)
三.添加定时任务
使用crontab -e命令编辑定时任务,并添加以下内容,命令含义为:每天凌晨1点10分执行cleanlog.sh脚本
10 1 * * * /bin/sh /usr/local/myScript/cleanlog.sh