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 天本身)被更改过内容的文件名




发表评论 请登录再评论
回到顶部