linux 定时删除某文件夹前一天的所有文件

1、shell 脚本 test.sh

查找目录下前一天创建的所有文件,然后执行删除

# 设置目标目录
export TEMP_DIR=/home/test

# 查找一天前创建(mtime=>最近一次文件内容被修改的时间)的文件,并且删除
find $TEMP_DIR/ -mtime +1 -name "*" -type f -exec rm -rf {} \;  # -type f  筛选文件类型:普通文件

# 一分钟之前创建的普通文件
# find $TEMP_DIR/ -mmin +1 -name "*" -type f -exec rm -rf {} \;

2、crontab -e 添加定时任务,每天凌晨 2 点执行

0 2 * * * /bin/sh /home/.sh

crontab -l 查看当前用户的定时任务, crontab -r 删除定时任务

扩展: -mtime n : n 为数字,意思为在 n 天之前的 “一天之内” 被更改过内容的文件 -mtime +n : 列出在 n 天之前(不含 n 天本身)被更改过内容的文件名 -mtime -n : 列出在 n 天之内(含 n 天本身)被更改过内容的文件名