如何从php脚本设置cron作业


how to set cron job from php script?

我是cron作业的新手。我学习了一些关于cronjob的基础知识。我可以使用cron选项卡调用php。通过在/etc/crontab 中使用以下命令

  10 *    * * *   root    /usr/bin/php /var/www/PATH TO SCRIPT/email.php 

在email.php中,我有以下代码

 #!/usr/bin/php
 <?php
    mail ("examplemail@mail.com", "Cron Successful Public HTML!","Hello World from mycron.php!");
 ?>

每10分钟我就会收到一封邮件。但我需要知道有没有任何方法可以从php调用cron作业(从php调用ron)我从冲浪中得到了一些想法,但我不知道该怎么做。以下是我使用php添加作业的代码

   exec('echo -e "crontab -e 'n2 * * * * /usr/bin/php /var/www/PATH TO THE SCRIPT/crontest1.php" ');

它对我不起作用。有人能指导我如何从php调用或添加cron吗。所以tat我可以通过执行php文件发送邮件;可以在php文件本身更改时间间隔。

从我如何通过PHP脚本设置cron作业由Nick Clark:

这将添加一个每天上午9:30运行的脚本。

exec('echo -e "`crontab -l`'n30 9 * * * /path/to/script" | crontab -');

如果从web服务器运行此脚本,则可能会遇到权限问题。为了解决这个问题,我建议采取不同的方法。

这里有一个可能的解决方案。创建需要运行的脚本列表。您可以将其保存在文本文件或数据库中。创建一个脚本来读取此列表,并每分钟或每5分钟运行一次(使用cronjob)。您的脚本需要足够聪明,才能决定何时运行脚本列表以及何时退出。

你可以这样做。。

其他链接:

使用php脚本安装cron作业

如何从php脚本调用cron作业?

您应该能够直接添加

echo "2 * * * * /usr/bin/php /var/www/PATH TO THE SCRIPT/crontest1.php'n" > /etc/cron.d/username

许多环境不允许从web调用的php页面写入文本文件。我同意这是一种不应该承担的安全风险。

我有一个网页,通过对php脚本的JQuery调用将数据保存到MySQL表中。在Cron中,我安排了另一个php脚本来每隔一段时间检查MySQL表中的数据,并执行任何必要的作业。