在linux上没有这样的文件或目录查找命令

时间:2016-03-15 05:39:58

标签: linux ubuntu find debian crontab

我已经创建了从目录中删除旧备份文件的脚本,但是这个命令在1周之前运行正常,脚本或包没有任何变化但仍然低于错误:

root@:# find /var/backups/abc/* -type d -mtime +6
/var/backups/abc/2016-03-09_0321

root@:~# find /var/backups/abc/* -type d -mtime +6 -exec rm -rf {} \;
find: `/var/backups/abc/2016-03-08_0321': No such file or directory 

问题是,这个脚本每天都在cron上运行,我收到的邮件就像" find:`/ var / backups / abc / 2016-03-08_0321':没有这样的文件或目录"。文件被删除,但这些邮件是从root获取的。

2 个答案:

答案 0 :(得分:3)

find /var/backups/abc/* -type d -mtime +6 -prune -exec rm -rf {} \;

在这里,我们对要删除的目录使用-prune,因此find将不会尝试读取其内容。

答案 1 :(得分:2)

这是因为在返回目录之后,find会尝试查看它(继续他的递归搜索),并且因为你刚删除它而失败。