【发布时间】:2012-06-22 14:45:31
【问题描述】:
我必须创建一个 cronjob 来删除特定目录中超过 99 天的文件,但我不确定文件名是由值得信赖的 Linux 用户创建的。我必须期待特殊字符、空格、斜杠字符和其他字符。
以下是我认为可行的方法:
find /path/to/files -mtime +99 -exec rm {}\;
但是我怀疑如果有特殊字符或者它找到一个只读文件(cron 可能无法以超级用户权限运行),这将失败。如果它符合此类文件,我需要它继续。
【问题讨论】:
-
我会至少添加一个
-type f来查找选项。 -
如 find /path/to/files -type f -atime +99 -execdir rm -f {}\;