我有这个命令,我每天都通过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
答案 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