如何使用Cron在特定的时间调用特定的url


How to call a specific url at a specific hour with Cron?

我需要一个功能,由用户触发时,只需点击一个按钮。这将设置一个作业在指定时间执行(假设是上午9点),并最终定期重复执行。这将由PHP

处理

所以我想使用CronJobs与PHP。我遵循了这个非常好的教程,但我真的不知道如何创建触发文件(home/path/to/command/the_command.sh)。

谁能给我点建议?

编辑:事实上,我想做的是调用一个url,假设在上午9点,如果用户按下了某个管理网站上的按钮www.google.com。该工作的管理部分将由系统设置在图坦卡蒙页我已经链接处理。我想知道这个php脚本调用的文件应该如何当作者说:

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

我应该在the_command.sh中输入什么来调用url ?

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

有三种可能性

1)每次有任务时,在crontab中添加一行。这是个坏主意

2)添加到crontab:
* * * * *  /usr/bin/php /path_to_your_script/script.php

并检入脚本当前时间/触发此时间的所有操作。也不好,但比1好

3)创建将执行您的任务的守护进程。例如,一个将每小时启动,并等待下一个小时的事件调度,每分钟检查一次。

如果您只需要从bash调用url,请使用以下命令:

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

如果要在上午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/