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、 openharmony
- 
                        9、 golang