例如,我每个月的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');
答案 0 :(得分:1)
请确保您不会破坏某些内容,在部署此功能后可以更好地监视cronjobs,但是您可能想要做的事。
您可以通过PHP(Use PHP to create, edit and delete crontab jobs?)创建,修改和删除Cronjobs
如果此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 -