【问题标题】:Cron Job to auto delete folder older than 7 days LinuxCron 作业自动删除超过 7 天的文件夹 Linux
【发布时间】:2017-05-15 23:00:11
【问题描述】:

我在存储 VPS 上存储服务器备份时遇到问题。我的服务器没有删除旧的备份文件夹,存储已满,备份中途失败。我每周跑步一次。

谁能帮我创建一个 cron 作业脚本,删除超过 7 天的文件夹并在备份前一天运行并删除旧文件夹。

任何帮助表示赞赏。

【问题讨论】:

标签: linux cron directory jobs


【解决方案1】:

例如,每天凌晨4:02删除/path/to/backup/下7天以上的文件的crontab说明如下。

02 4 * * * find /path/to/backup/* -mtime +7 -exec rm {} \;

请在执行rm 之前确保目标是否为预期文件。您可以通过将-ls 指定为find 的参数来检查目标。

find /path/to/backup/* -mtime +7 -ls

mtime 表示最后修改时间戳,find 的结果可能不是预期的文件,具体取决于备份方法。

【讨论】:

  • 没有必要使用 -exec rm {} \;只需使用 -delete 标志就足够了。
  • @SpaceBear 是的,但它的行为略有不同,因为如果find 遇到任何要删除的问题(例如非空文件夹),它将返回错误状态。这可能是一个问题,如果您想将其用作简单的 logrotate 作业,例如在 Apache Airflow 中,它期望作业的出口 0 将其声明为成功运行。所以你必须使用... -exec rm {} \; 然后
猜你喜欢
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
  • 2016-09-20
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多