1、创建shell:
touch /opt/soft/bin/auto-del-30-days-ago-log.sh
chmod +x auto-del-30-days-ago-log.sh
新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限
2、编辑shell脚本:
#!/bin/sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
3、定时执行
输入linux命令 #crontab -e
10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1
保存退出;
说明
将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:
- find:linux的查找命令,用户查找指定条件的文件;
- /opt/soft/log/:想要进行清理的任意目录;
- -mtime:标准语句写法;
- +30:查找30天前的文件,这里用数字代表天数;
- ".log":希望查找的数据类型,".jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
- -exec:固定写法;
- rm -rf:强制删除文件,包括目录;
- {} ; :固定写法,一对大括号+空格++;
- cron文件语法 10 0 * * * 定时删除:分 小时 日 月 星期
- crontab命令选项 1.-u指定一个用户; 2.-l列出某个用户的任务计划; 3.-r删除某个用户的任务(不添加用户即删除所有的任务); 4.-e编辑某个用户的任务;
网友评论