2014-04-18 284 views
0

我有一个名为urlretrieve.php的脚本,放在我的Web服务器上。假设网址是www.example.com/urlretrieve.php,当您访问此网站时,会从其他网站下载一个文件并将其放入与web服务器上的urlretrieve.php相同的文件夹中。我需要每周访问一次该网站(执行)一次。我的问题是,我的cron作业命令应该是什么?目前我正在使用:CRON执行PHP脚本的错误

php /home/user/public_html/urlretrieve.php 

并且它不工作。我测试了很多其他人,但没有运气。

我正在使用CPANEL。

这是urlretrieve.php脚本

<?php 
$url = "ftp://alt.ncsbe.gov/data/ncvhis1.zip"; 
$fh = fopen(basename($url), "wb"); 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_FILE, $fh); 
curl_exec($ch); 
curl_close($ch); 
?> 
+0

$ PATH变量可能不包含“php”的位置。假设它正在运行CentOS(使用cPanel),请尝试将''php''更改为''/ usr/bin/php''。另外,crontab文件中的完整cron条目应该是''@weekly/usr/bin/php/home/user/public_html/urlretrieve.php'',但是如果它是通过不需要的cPanel来完成的话。 – ub3rst4r

+0

是的,我有四组数字,现在每个星期五都设置为4,但为了测试目的,我一直在不断改变它们。我昨天试过/ usr/bin/php,没有运气。这就是我的服务器管理员告诉我的:“你的命令看起来不错,我认为一切都应该正常运行,只需调用”php“就可以工作,而不必在bin或库连接中定位命令。” – user3529701

回答

0

我只是测试这一点。作品。

33 14 * * 5 curl ftp://alt.ncsbe.gov/data/ncvhis1.zip > /home/user/ncvhis1.zip 
+0

不幸的是既没有工作。有没有可能在服务器上设置不正确? – user3529701

+0

当然,curl可能没有安装,它可能不在路径中,你可能会使用不同的cron守护进程。请记住,cron将在周一午夜运行。不是每周1次。如果你想要一些更抽象的东西,你需要阅读你的cron服务器文档。 –

+0

我设置了cron在星期五2:20运行,用 20 14 * * 5 curl ftp://alt.ncsbe.gov/data/ncvhis1.zip> \/home/user/ncvhis1 _ $(date“+” %y%m%d“)。zip – user3529701