查找 /backup 目录下的10天以前的备份文件并删除

find /backup -name "*.gz" -mtime +30 -exec rm {} \;
CODE


  • -name 最好指定, 以防止多删除其他的问题件
  • -mtime +30   修改时间超过30天的文件
  • -exec 后跟着 对find 结果的执行命令
    • {}  是 placeholder, 是find 找出来的内容
    • ;是-exec 的结束
    • ;前的\是转义, 以区别于shell命令中普通的;的含义


上述也可以用管道加 xargs 来实现

find /backup -name "*.gz" -mtime +30 | xargs -0 rm {}
CODE

其中

  • -0 是避免文件有特殊字符和空格


exec 和 args的区别

  • exec 是一个一个传入参数的, 传一次参数执行一次rm
  • xargs 是一次性将参数传递给执行命令的, 以上命令中详单与把所有找到的文件一起传递给 rm 命令