【问题标题】:How can i improve my cron command so that the necessary folders are deleted?如何改进我的 cron 命令以便删除必要的文件夹?
【发布时间】:2019-04-20 08:39:11
【问题描述】:

我有一个如图所示的 cron 作业输入。

按原样,它确实删除了 13 天前或更早的大部分文件,但并不总是将它们全部删除,而且它经常运行到无法删除的非空文件夹中(并报告此类文件)。错误是:“find: cannot delete '[truncated]': Directory not empty”

经过数周的反复试验才达到我现在的位置,我需要一些关于如何从这里改进的指导。似乎我必须在我的 cpanel 中输入 cron 命令才能让它们工作的方式并不总是与为 cron 命令给出的规定解决方案保持一致——因此需要数周的反复试验。

find /home/account/mysite.com/subfolder/iamworkingin/ -mindepth 1 -mtime +13 -delete

我需要将当前日期前 13 天之前的所有内容完全删除到列出的工作文件夹之外,并以多个/不同的深度级别删除所有子文件夹。

【问题讨论】:

    标签: cron cpanel


    【解决方案1】:

    您可以尝试将-mindepth 增加到 2 或更多。

    或者你可以试试-exec。这样您就可以使用rm -f 和/或rm -r 强制删除目录/递归。

    find /home/account/mysite.com/subfolder/iamworkingin/ -mindepth 2 -mtime +13 -exec rm -fr {} \;

    【讨论】:

    • 子文件夹的深度可以变化,有时是 5 左右。那么我应该删除-mindepth 而是使用-exec 吗?你的建议说rm -f,但你的例子使用rm -r。我应该在这里使用哪个?使用-exec 是否需要使用{}?由于我的 cPanel GUI 没有让我输入 \; 的关闭行。
    • 对造成的混乱表示歉意。我已经编辑澄清-f-r 的使用。虽然忘记了,但是如果您的 cPanel 无论如何都不允许-exec。因此,最好先将mindepth 增加到 5 或更多,看看是否有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 2012-01-02
    • 2020-02-04
    相关资源
    最近更新 更多