使用CRON Job来执行PHP脚本

24

我想每天午夜运行一次PHP脚本。经过研究,似乎使用CRON作业是实现这一目标的最佳方法。

如果我的php脚本位于http://example.com/scripts/scriptExample.php,能否有人展示最简单的CRON命令示例?

我已经查看了许多帖子,但我找不到足够简单的例子来学习和构建。


你是在 Windows 还是 Linux 上运行这个脚本? - Adidi
我相信服务器是一台Linux服务器。 - djnetherton
每天的0时0分,每月每年都执行。在本地服务器上使用带有完整路径的PHP,以及带有完整路径的PHP脚本:0 0 * * * /path/to/php /path/to/phpscript 或者 0 0 * * * wget http://example.com/scripts/scriptExample.php - Waygood
4个回答

24

Crontab需要在您的服务器上使用完整路径。

0 0 * * * php /var/www/vhosts/domain.com/httpdocs/scripts/example.php

这将在每天午夜执行。


太好了。脚本完成后,我会尝试这个命令。谢谢你的帮助! - djnetherton
这段代码对我来说不起作用! - moderns
而因为简便的方式是通过wget或lynx这样请求“page”:http://hardforo.com/thread-460-post-1234.html - boctulus
是的,这对我有效。 - Sigit Purnomo

2
所以类似这样的内容:
00 * * * * /usr/local/bin/php /home/john/myscript.php

00 * * * * 表示每小时执行一次 /usr/local/bin/php - PHP主引擎所在路径 /home/john/myscript.php - 要运行的脚本(物理路径)
你也可以使用特殊关键字@hourly。
@hourly /usr/local/bin/php /home/john/myscript.php

2
如果您拥有Linux服务器的sudo访问权限: 那么请按照以下步骤操作。
sudo crontab -e

这将在您的服务器上为您打开cron表。

接下来,您需要为要执行的文件创建一个cron条目。

00 00 * * * /usr/local/bin/php "path of the php file which you want to execute"

00 00 * * * 这将在每天午夜运行您的cron,意味着在0小时和0分钟。


2
由于两者都是0。准确地说,这是0分钟,0小时,顺序为:分钟 小时 月中的日期 月份 星期几 #命令#。 - Waygood

0
你是否使用公司托管你的网站?
因为你应该在你的c面板中有一个叫做“cron jobs”的图标,从那里你可以告诉它执行什么脚本以及何时执行。

我是的。听起来很有前途,克里斯。我会去看一下。 - djnetherton
我的 cPanel 确实有这个 Chris,这很棒。然而,我现在需要提供的是实际命令,我需要帮助。如果能提供这个命令的示例就太好了! - djnetherton
好的,命令行看起来应该是这样的。usr/bin/php -q - Chris par
Home/username/public_html/yourfilename.php - Chris par
3
使用以下命令下载http://example.com/scripts/scriptExample.phpwget http://example.com/scripts/scriptExample.php - Waygood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接