Cron Job - 每天删除所有.flv文件的命令

时间:2009-01-06 11:13:09

标签: shell command-line file cron fedora

我有这个命令,我每天都通过cron运行:

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

问题是它不会删除1天或更长时间目录中的.flv文件。

如何更正上述命令?

编辑:保罗 - 命令“ls -l / home / get / public_html / videos”会产生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

3 个答案:

答案 0 :(得分:3)

最好在find中使用-print0,在xargs中使用-0,以防一个文件的名称不常见。

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

-maxdepth 1