【问题标题】:Is there a way in which a PHP or shell script can setup a cron job on a web server?有没有一种方法可以让 PHP 或 shell 脚本在 Web 服务器上设置 cron 作业?
【发布时间】:2010-06-21 16:38:23
【问题描述】:

我正在为 Joomla 编写一个组件,并且有一项特定的任务需要每隔一段时间更新一些统计信息。我想设置一个 cron 作业来执行此操作。唯一的问题是需要用户去设置 cron 来运行 php update stats 脚本。

在安装组件时,如何自动为用户设置 cron 作业?这可能吗?

我已经在 J​​oomla 的 Akeeba 备份专业组件中看到了这一点,所以我希望我能够做同样的事情。

谢谢

【问题讨论】:

    标签: php joomla cron


    【解决方案1】:

    理论上你可以创建一个 crontab 文件并从 PHP 中调用它

    <?php
    exec("crontab $path_to_cron_file");
    

    实际上,这取决于服务器(如果您在共享主机上)是否允许您这样做。

    【讨论】:

    【解决方案2】:

    您需要做的就是在 crontab 文件中写一行,一般存储在/var/spool/cron/crontabs/username 中。 cron 守护进程将看到文件修改时间已更改,并在它醒来进行检查时自动重新加载它

    【讨论】:

      【解决方案3】:

      另一种选择(从服务器负载的角度来看不太理想,但对用户来说更容易)是创建一个插件,每次访问者访问该站点时都会运行该插件。它可以检查进程是否在指定的时间内运行,如果需要运行,则运行它。

      iJoobi.com 有另一种解决方案,他们设置了一个服务器来运行 cron 任务,然后 ping 网站上的特定 URL 以启动该过程。 (http://www.ijoobi.com/Help/jNews/jNews-Cron-Task.html)

      【讨论】:

      • 感谢 Don,您的第一个选项不适用于高流量网站。不错的 cron 链接,真的很酷!
      猜你喜欢
      • 1970-01-01
      • 2018-01-02
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 2018-06-11
      • 2012-08-06
      • 1970-01-01
      相关资源
      最近更新 更多