我可以通过另一个cron作业正在执行的php脚本修改cron作业的计划吗?

时间:2018-08-31 13:54:36

标签: php linux cron

例如,我每个月的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');

1 个答案:

答案 0 :(得分: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的方法(例如)-只需为不同的日期创建一个新的cronjob:

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