2014-01-14 51 views
0

我想让下面的php文件在我的服务器上每天运行。 (改变“用户名”我的WHMCS用户名)我读过这应该这样做:如何启动一个cron作业

20 0 * * * php –q /home/username/whmcs/terminatedemo.php 

但是当我运行它,这样我得到这个错误信息:“未指定输入文件”

我试图运行它像这样基于一的cPanel论坛主题,并得到了同样的结果:

20 0 * * * php –q /home/username/whmcs /home/username/whmcs/terminatedemo.php 

我甚至尝试这样的:

php -q -f /home/username/public_html/whmcs /home/username/public_html/whmcs/createdemo.php 

这最后一次,我得到一个错误

无效的IP地址XXX.XX ...

有什么建议?

谢谢! (该文件如下。)

<?php 
//RECREATING DEMO ACCOUNT 
$url = "http://yourdomain.com/whmcs/includes/api.php"; # URL to WHMCS API file 
$whmcs_admin = "admin"; # Admin username goes here 
$whmcs_pw = "password"; 
$demo_account_id = "1"; 

$postfields["username"] = $whmcs_admin; 
$postfields["password"] = md5($whmcs_pw); 
$postfields["action"] = "servercreate"; 
$postfields["accountid"] = "1"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 100); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); 
$data = curl_exec($ch); 
curl_close($ch); 

$data = explode(";",$data); 
foreach ($data AS $temp) { 
$temp = explode("=",$temp); 
$results[$temp[0]] = $temp[1]; 
} 
if ($results["result"]=="success") { 
print "Demo account terminated"; 
} else { 
# An error occured 
$error_msg = $results["message"]; 
mail("youremail", "Error terminating demo account", $error_msg,$headers); 
} 
?> 
+0

你基本上必须用'crontab -e'编辑它。如果你编写'crontab -l',它会显示当前的cronjobs。另请参阅http://stackoverflow.com/tags/cron/info – fedorqui

+0

嗨 - 我以为我会收到一封电子邮件,当有人回复时,我为迟到的回应表示歉意。我试图编辑文件,我可以,但实际的脚本不起作用。我希望每天都设置一个演示cpanel帐户,然后每天晚上终止它。 – thesales

回答

0

当你说“这应该做”时,你使用的是crontab命令吗?这是设置cron作业的界面 - 执行“man crontab”。

简而言之,最简单的方法是用“crontab -e”打开带有当前cron文件的编辑器,这样就可以添加更多命令。