Linux 定期删除某时间段的文件
-
定期删除几天(分钟)前的文件,可以借助Linux自带crontab定时任务工具,运行shell脚本进行删除。
-
shell 脚本:
FILE_PATH=/home/backup/ find ${FILE_PATH} -mtime +7 -name "*.sql" -exec rm -f {} \;
- FILE_PATH=/home/backup/ :被删除文件的目录,用变量FILE_PATH表示
- ${FILE_PATH}:变量调用,指向 FILE_PATH=/home/backup/
- -mtime:标准语句写法,单位:天
- -mmin:标准语句写法,单位:分钟
- +7:查找7天(分钟)前的文件,这里用数字代表天数,+30表示查找30天(分钟)前的文件,是天还是分钟,取决于使用的是-mtime 还是 -mmin
- -name:标准语句写法,文件名
- "*.sql":文件名匹配;例子中表示 .sql 结尾的文件,* 就不用说了,代表所有的
- -exec:固定写法
- rm -f:删除文件;-f 也可以写成rm 支持的语法,比如:rm -rf(但是你懂得,太残暴,不推荐)
- {} ;:固定写法,大括号 + 空格 + \ + ;(分号)