【问题标题】:Can I modify the schedule of a cron job from a php script that it is being executed by another cron job?我可以从另一个 cron 作业执行的 php 脚本修改 cron 作业的计划吗?
【发布时间】:2018-08-31 13:54:36
【问题描述】:

例如,我有一个在每个月的 1 号运行的 cron,这个 cron 执行一个返回一些日期的 PHP 脚本。

我想使用这些日期并修改另一个 cron 作业的时间表?

我知道我可以添加一个新的 cronjob 来做这样的事情,但不确定如何在可能有多个条目时更新 1 个特定条目。

$output = shell_exec('crontab -l');
file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);
echo exec('crontab /tmp/crontab.txt');

【问题讨论】:

    标签: php linux cron


    【解决方案1】:

    确保你没有破坏一些东西,你最好在部署后监控你的 cronjobs ? 但是你想做的事情是可能的。

    1. 您可以通过 PHP (Use PHP to create, edit and delete crontab jobs?) 创建、修改和删除 Cronjobs

    2. 如果这个 PHP 通过另一个 cronjob 执行也是如此(只要你给予正确的权限)

    ⇒ 有可能(q.e.d.)

    另见这个问题:https://askubuntu.com/questions/408611/how-to-remove-or-delete-single-cron-job-using-linux-command

    这是您删除单个 cronjob 的方式(通过示例) - 只需为不同的日期创建一个新的:

    crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl'  | crontab -u mobman -
    

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      相关资源
      最近更新 更多