查找 /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
其中
exec 和 args的区别
- exec 是一个一个传入参数的, 传一次参数执行一次rm
- xargs 是一次性将参数传递给执行命令的, 以上命令中详单与把所有找到的文件一起传递给 rm 命令