目标:ubuntu 定时清理路径下某个文件
操作:
1 编写删除文件的脚本
vi /your_path1/delete-log.sh
写入命令:
find /your_path2 -mtime +7 -name "*.log" -exec rm -rf {} \;
其中:-mtime +7 表示查询7天之前的文件;-exec 是shell脚本中的调用并执行exec后面的指令的命令;{} 表示文件名,即前面find命令查询出来的所有文件
2 给脚本增加可执行的权限
chmod +x /your_path1/delete-log.sh
3 加入定时任务
运行定时任务配置命令:crontab -e
写入:* * * * * /your_path1/delete-log.sh
表示每分钟执行以上脚本。
每个* 分别代表 分 时 日 月 星期 要运行的命令
- 第1列分钟1~59
- 第2列小时1~23(0表示子夜)
- 第3列日1~31
- 第4列月1~12
- 第5列星期0~6(0表示星期天)
- 第6列要运行的命令
如果需要其他定时方式,请参考https://doc.yonyoucloud.com/doc/linuxtools-rst-latest/tool/crontab.html
另外定时执行脚本时会有执行内容的输出,如果不需要保存我们的定时任务输出执行的内容可以在命令后增加以下内容:
* * * * * /your_path1/delete-log.sh >/dev/null 2>&1