linux 定时删除指定时间文件及目录
需求说明
每日凌晨0点定时删除/temp目录下的所有一个月未被访问的文件。
脚本实现
linux 终端输入crontab -e,添加定时任务脚本命令
在文件末尾追加
0 0 * * * find /temp -atime +30 -exec rm -rf {} \;
参数说明
- find /temp:查找temp目录
- -atime:访问时间
- +30 :30天以前
- -exec :执行其后面的命令
- rm -rf {} :删除查找到的内容,{} 代表find查找到的内容
- \; :结束符号,\用来转义
命令格式
find 对应目录 -name "文件名" -type f -mtime +n -exec rm -rf {} \;
-type
f:普通文件
d:目录
-mtime
修改时间(modify time)
-atime
访问时间(access time)
-ctime
状态变更时间(change time)
n
+n 第n天之前的,不包括第n天当天
-n 第n天到今天的,不包括第n天当天
备注: n为整数,以天为单位,0x24表示今天,1x24表示昨天;n有一位小数,以小时为单位,如0.5x24;n有两位小数,以分钟为单位,如0.55x24;
脚本验证
查看定时任务是否被加入定时任务列表
[root@localhost ~]# crontab -l
查看文件是否被删除,删除在/temp目录下1天内创建的后缀为.log的文件
0 0 * * * find /temp -name "*.log" -mtime -1 -exec rm -rf {} \;
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦