Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以让PHP或shell脚本在web服务器上设置cron作业?_Php_Joomla_Cron - Fatal编程技术网

有没有一种方法可以让PHP或shell脚本在web服务器上设置cron作业?

有没有一种方法可以让PHP或shell脚本在web服务器上设置cron作业?,php,joomla,cron,Php,Joomla,Cron,我正在为Joomla编写一个组件,有一个特定的任务需要经常更新一些统计数据。我想设置一个cron作业来执行此操作。唯一的问题是需要用户去设置cron来运行php更新统计脚本 在安装组件时,如何为用户自动设置cron作业?这可能吗 我已经在Joomla的Akeeba backup pro组件中看到了这一点,所以我希望我能够做同样的事情 谢谢您只需在crontab文件中写入一行代码,该文件通常存储在/var/spool/cron/crontab/username中。cron守护进程将看到文件修改时间

我正在为Joomla编写一个组件,有一个特定的任务需要经常更新一些统计数据。我想设置一个cron作业来执行此操作。唯一的问题是需要用户去设置cron来运行php更新统计脚本

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

我已经在Joomla的Akeeba backup pro组件中看到了这一点,所以我希望我能够做同样的事情


谢谢

您只需在crontab文件中写入一行代码,该文件通常存储在
/var/spool/cron/crontab/username
中。cron守护进程将看到文件修改时间已更改,并在它醒来进行检查时自动重新加载它

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

<?php
exec("crontab $path_to_cron_file");
另一个选择(从服务器负载的角度来看不太理想,但对用户来说更容易)是创建一个插件,在访问者每次访问站点时运行该插件。它可以检查进程是否已在指定时间内运行,然后在需要运行时运行它


iJoobi.com还有另一个解决方案,他们在其中设置了一个服务器来运行cron任务,然后通过ping网站上的特定URL来启动该过程。()

谢谢,这就是我想要的。我发现这里也回答了这个问题:谢谢Don,你的第一个选择对于流量大的站点是不可行的。很好的cron链接,真的很酷!