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

标签 php linux cron

例如,我有一个 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 😉 但是你想做的是可能的。

  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 -

关于php - 我可以从另一个 cron 作业正在执行的 php 脚本修改 cron 作业的计划吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117015/

相关文章:

linux - 检查 rsync 的 CPU 使用率,如果超过阈值则终止

php - 安排 cron 作业 laravel

ruby-on-rails - rake 命令不是从 cron 作业运行,而是以其他方式运行

c - 变量与存储在数组中的值的高效匹配

linux - 如何退出 perl 脚本中的 chroot?

linux - 脚本未通过 crontab 运行

php - Selenium 浏览器窗口大小

java - 读取 URL 编码参数 PHP

php - 如何更改 session 数组变量值

php - 从 mysql 数据库中添加小时数,然后通过 PHP 将它们添加到 HTML 表中