2009-01-06 74 views
1

我有这样的命令,我通过cron每天运行:定时任务 - 命令删除所有文件的FLV每天

find /home/get/public_html/videos -daystart -maxdepth 0 
-mtime +1 -type f -name "*.flv" |xargs rm -f 

的问题是,它并没有在目录中是删除的FLV文件1天或更多天。

如何纠正上述命令?

编辑:保罗 - 命令“ls -l /家庭/获得/的public_html /视频”导致2000+的文件,但这里是他们的2应删除:

-rw-r--r-- 1 get get 3501188 Jan 4 15:24 f486cf0a2b6bb40e4c50c991785084131231104229.flv 
-rw-r--r-- 1 get get 10657314 Jan 4 17:51 f5f1490ddaa11a663686f9d06fb37d981231112941.flv 
+0

它是做什么的?它删除旧文件,不删除文件,给出错误....? – 2009-01-06 11:18:27

+0

它不会删除任何内容,它不会返回任何内容,因为我认为它没有找到任何内容。虽然没有错误。 – Abs 2009-01-06 11:26:06

+0

您可以将ls -l/home/get/public_html/videos的结果添加到您的问题中吗? – 2009-01-06 11:30:46

回答

3

这是更好地使用如果一个文件具有不常见的名称,则在find中选择-print0并在xargs中选择-0。

另外,您希望使用-maxdepth 1在指定的目录中实际查找某些内容。

-maxdepth 0意味着它只能在命令行中列出的目录中找到,它不会检查这些目录的内容。

1

您的意思是,如果您有一个目录/home/get/public_html/videos/foo它不会删除它们中的文件?那将是因为你有-maxdepth 0参数集,这可以防止find降序到子目录中。

1
-maxdepth 1 
相关问题