0

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

因此,我已经考虑将 CronJobs 与 PHP 一起使用。我已经遵循了这个非常好的教程,但我真的不知道如何创建触发文件(home/path/to/command/the_command.sh)。

有人可以给我建议吗?

编辑:事实上,如果用户在某个管理网站上按下按钮,我想做的是调用一个 url,假设是上午 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 ?

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

4

2 回答 2

1

如果您想在上午 9 点运行 PHP 脚本,那么您在 crontab 文件中的命令应该类似于:

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

where/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/
于 2013-04-08T15:16:37.930 回答
1

有3个可能性

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
于 2013-04-08T15:19:01.867 回答