![Cron 作业删除特定文件夹中所有超过 7 天且带有扩展名的文件 - 不起作用](https://linux22.com/image/731736/Cron%20%E4%BD%9C%E4%B8%9A%E5%88%A0%E9%99%A4%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%89%80%E6%9C%89%E8%B6%85%E8%BF%87%207%20%E5%A4%A9%E4%B8%94%E5%B8%A6%E6%9C%89%E6%89%A9%E5%B1%95%E5%90%8D%E7%9A%84%E6%96%87%E4%BB%B6%20-%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我有一个 cron 作业,在午夜运行,以删除文件夹中超过 7 天的所有 .txt 文件。我可以看到该作业正在运行,但文件仍然存在于文件夹中。
我是 cron 的新手,所以我真的很感激有人指出我哪里出了问题,或者如果不明显的话如何诊断。
以下是我隐藏了目录的代码:
0 0 * * * bin/find /var/www/example.com/wp-content/targetdir -name "*.txt" -type f -mtime +7 -exec rm -rf {} \;
提前感谢大家。
答案1
- 只需使用“find”或使用以 / 开头的绝对路径(对于 ubuntu 来说是 /usr/bin/find)
- 如果你想删除文件,请不要使用“rm -r”
这个很好用:
0 0 * * * /usr/bin/find /var/www/example.com/wp-content/targetdir -name "*.txt" -type f -mtime +7 -exec rm -f {} \;
答案2
或者更简单:0 0 * * * /usr/bin/find /var/www/example.com/wp-content/targetdir -name "*.txt" -type f -mtime +7 -delete
解释:man find,ACTIONS -delete