我需要一个功能,由用户触发时,只需点击一个按钮。这将设置一个作业在指定时间执行(假设是上午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/