例如,我有一个 cron 在每个月的 1 号运行,这个 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');
最佳答案
确保你没有破坏某些东西,在你部署它之后你最好监控你的 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 -
关于php - 我可以从另一个 cron 作业正在执行的 php 脚本修改 cron 作业的计划吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117015/