【问题标题】:How can I set up a cron task that stops after a certain date?如何设置在某个日期后停止的 cron 任务?
【发布时间】:2015-03-29 15:31:13
【问题描述】:

我需要一些帮助来设置一个每 10 分钟运行一次并在下周一 00:00:00 停止的 cron 作业。

0 0 30 3 * /var/www/html/reports/Test.php

【问题讨论】:

    标签: cron crontab cron-task cronexpression


    【解决方案1】:

    cron 本身没有这样的设施。但是您可以实现您的目标,如下所述。我没有给出确切的命令 - 但这是可行的想法。

    1. 不要将您的 cron 作业放在 crontab 中。将其放在/etc/cron.d 中,文件名如下:/etc/cron.d/<your login name>-test-reports.php。使用您的登录名作为脚本文件名的一部分可以减少文件名冲突的可能性。在脚本中放置时间规范和要运行的命令。这可能需要 root 权限,因为 /etc/cron.d 仅对 root 用户是 rw
    2. 找出下周一的日期。假设是 2015 年 3 月 30 日,请安排一个 at 脚本在您感兴趣的日期和时间从 /etc/cron.d 删除您的 cron 文件。您还可以使用以下命令确定下周一的日期:date --date "next Monday",以避免在您的 at 脚​​本中硬编码日期。

    【讨论】:

    • 您可以在自己的 crontab 中使用 0 0 3 30 * test -x ./nightly && ./nightly 并删除(或 chmod -xnightly 以及如上所述的预定 at 作业。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2011-08-29
    • 2014-03-20
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多