Cron Job - 每天删除所有.flv文件的命令
-
03-07-2019 - |
题
我有这个命令,我每天都通过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
解决方案
最好在find中使用-print0,在xargs中使用-0,以防一个文件的名称不常见。
另外,您希望使用-maxdepth 1来实际查找指定目录中的内容。
-maxdepth 0表示它只能在命令行中列出的目录中找到,它不会检查这些目录的内容。
其他提示
你的意思是,如果你有一个目录 / home / get / public_html / videos / foo
,它不会删除其中的文件?那是因为你有 -maxdepth 0
参数集,这会阻止 find
下降到子目录。
-maxdepth 1
不隶属于 StackOverflow