2013-04-08 161 views
0

我需要一个功能在用户点击按钮时触发。这将设定一个工作在特定的时间执行(比如早上9点),并最终定期重复。这将通过PHP如何使用Cron在特定时间调用特定网址?

处理

所以我如何使用CronJobs沿着PHP虽然。我遵循这pretty good tutorial,但我真的不知道如何创建triggerred文件(home/path/to/command/the_command.sh)。

谁能告诉我好吗?

编辑: 事实上,我期望做的是调用一个网址,假设用户在某个管理网站上按下按钮,那么在上午9点说www.google.com。作业的管理部分将由我链接的tut页面上设置的系统处理。我想知道如何应该是由这个PHP脚本时,作者说叫做文件:

$crontab->append_cronjob('30 8 * * 6 home/path/to/command/the_command.sh >/dev/null 2>&1'); 

我应该投入the_command.sh调用一个网址?

我不希望这个网址是在任何样的浏览器打开。这个URL基本上会在服务器端触发一个函数。

回答

1

有3个posibilities

1)每次有任务时添加一行在crontab中。这是最糟糕的想法

2)加入到crontab中:

* * * * * /usr/bin/php /path_to_your_script/script.php 

,并在脚本当前时间/触发检查这段时间的所有行动。同样糟糕,但更好,然后1

3)创建后台程序,这将做你的任务。例如,每隔一小时开始一次,并等待下一小时安排事件,每分钟检查一次。

如果你只是需要从bash的通话网址,使用下列内容:

/usr/bin/curl http://www.google.com >/dev/null 2>/dev/null 
+0

谢谢,我的问题可能不够精确,请参阅编辑:) – 2013-04-08 15:29:18

+0

什么是/ dev/null 2>/dev/null?对不起,我很新的cammand行 – 2013-04-08 15:59:24

+0

重定向输出和错误到/ dev/null(忽略)。否则crontab会通过电子邮件向您发送输出和/或错误。 – arheops 2013-04-08 19:17:19

1

如果你想在上午9点运行PHP脚本,那么你在crontab文件命令应该是这样的:

/usr/bin/php /var/www/mysite/script.php 

其中/usr/bin/php是通向你的PHP可执行文件,/var/www/mysite/script.php是您要执行的PHP脚本的路径。首先在终端中运行此命令以确保其正常工作。

这将适用于任何命令。你应该取代home/path/to/command/the_command.sh您要执行的命令,使用该命令从字面上。这里是一个命令,将在http://www.google.com/检索页面:

/usr/bin/curl http://www.google.com/ 
+0

谢谢,我可能还没有在我的问题不够准确,请编辑:)请与 – 2013-04-08 15:28:13

+0

更多的细节编辑。 – jnylen 2013-04-08 15:34:57

+0

谢谢你,我会试一试。与wget有什么不同,我为了同一目的在网上找到了什么地方? – 2013-04-08 15:49:54