Shell脚本
文件目录如下图
** 查找/ai/img/目录下的所有文件**
find /ai/img/ -type f
查找/ai/img/目录下的所有上次改动时间大于720分钟(12小时)的文件
12 小时,也就是 720 分钟。所以,我们可以使用
-mmin +720
来查找修改时间超过 720 分钟(12 小时)前的文件。
find /ai/img/ -type f -mmin +720
删除/ai/img/目录下的所有上次改动时间大于720分钟(12小时)的文件
find /ai/img/ -type f -mmin +720 -exec rm -f {} \;
解释:
/ai/img/
:要清理的目录及其子目录。-type f
:只查找文件(不包括目录)。-mmin +720
:查找修改时间超过 720 分钟(12 小时)前的文件。- 也可以切换参数
-mtime +1
:查找修改时间在1天前的文件(“+1”表示超过1天前的文件)。
- 也可以切换参数
-exec rm -f {} \;
:对于找到的文件,执行删除操作。
定时任务(cron
)配置
要让系统每天凌晨自动执行该删除操作,你可以将其添加到 cron
定时任务中。
- 使用
root
权限编辑crontab
文件:
sudo crontab -e
- 添加以下行到
crontab
文件中,让任务每天凌晨执行:
0 0 * * * find /ai/img/ -type f -mmin +720 -exec rm -f {} \;
0 0 * * *
:表示每天凌晨 00:00 运行任务。find /ai/img/ -type f -mmin +720 -exec rm -f {} \;
:命令会查找/ai/img/
目录及其所有子目录下修改时间超过 12 小时(720 分钟)前的文件并删除。
- wq保存后
- crontab -l 查看定时任务列表