2016-01-13 26 views
2

----來源的crontab不工作(PHP的可執行程序)

#!/usr/bin/php -q 
<?php 
set_time_limit(0); 

$domain = filter_input(INPUT_POST, 'domain', FILTER_SANITIZE_URL); 
$terms = filter_input(INPUT_POST, 'terms', FILTER_SANITIZE_STRING); 

require_once('/home/myaccount/www/scrap/goutte-v2.0.4.phar'); 
include_once('/home/myaccount/www/scrap/common.php'); 

$command = "ps -ef|grep data_scrap.php"; 
$commandResult = shell_exec($command); 
$commandResultArray = explode("\n", $commandResult); 

if(sizeof($commandResultArray) == 6) { 
    echo "[".date("Y-m-d H:i:s")."] working...".PHP_EOL; 
    var_dump($commandResultArray); 
    exit; 
} else { 
    echo "[".date("Y-m-d H:i:s")."] not working...".PHP_EOL; 
} 
. 
. php scrpt 
. 

---- crontab的計劃

*/1 * * * * root /usr/bin/php /cron_script/data_scrap.php >> /cron_script/data_scrap_log.txt 

---- crontab的日誌(系統日誌)

Jan 7 12:10:01 dev CRON[2051]: (root) CMD (root /usr/bin/php /cron_script/data_scrap.php >> /cron_script/data_scrap_log.txt) 
Jan 7 12:10:01 dev postfix/pickup[643]: 6D6B113A1191: uid=0 from=<root> 
Jan 7 12:10:01 dev postfix/cleanup[2018]: 6D6B113A1191: message-id=<[email protected]> 
Jan 7 12:10:01 dev postfix/qmgr[14721]: 6D6B113A1191: from=<[email protected]>, size=623, nrcpt=1 (queue active) 
Jan 7 12:10:01 dev postfix/local[2021]: 6D6B113A1191: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.31, delays=0.28/0/0/0.03, dsn=2.0.0, status=sent (delivered to maildir) 
Jan 7 12:10:01 dev postfix/qmgr[14721]: 6D6B113A1191: removed 

---- cat /cron_script/data_scrap_log.txt

null 

----文件權限

chown myaccount:myaccount data_scrap.php 
chmod 777 data_scrap.php 
chmod +x data_scrap.php 

爲什麼不工作的crontab?

php /cron_script/data_scrap.php - >它會運行。

請你幫忙。

+0

不能提供'命令行$ _POST' 。 '$ domain'和'$ terms'將始終爲空。 –

+0

用戶cron在允許寫入'/ cron_script/data_scrap_log.txt'下運行嗎? –

+0

將所有輸出重定向到log,stderr和stdout,'*/1 * * * * root/usr/bin/php /cron_script/data_scrap.php >> /cron_script/data_scrap_log.txt 2>&1'並檢查錯誤,腳本可能正在運行,但可能有錯誤 –

回答

0

更改crontab進入如下

*/1 * * * * /cron_script/data_scrap.php >> /cron_script/data_scrap_log.txt 2>&1 

卸下root和路徑php二進制,因爲php文件具有shebang

+0

謝謝。亞歷克斯。完成。 –