Linux 定期删除某时间段的文件

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(但是你懂得,太残暴,不推荐)
    • {} ;:固定写法,大括号 + 空格 + \ + ;(分号)

你可能感兴趣的:(Linux,linux,bash,运维)