2014-05-13 3 views
0

내 Linux 서버에서 cron 작업을 설정하려고합니다.PHP Cron 작업이 실행되지 않음

내가 다음 코드

*/1 * * * * root php -f /var/www/html/includes/cron/cron.inc.a.php &> dev/php.log 

크론 작업을 호출하기위한 것입니다 파일을 다른 서버에서 하트 비트 응답을 가져옵니다.

<?php 

    $l = new MySQLi(); 

    $l->connect(blah); 

    $q = $l->query("SELECT * FROM `tbl_latency_stats`"); 

    set_include_path('/var/www/html/includes/'); 

    include("ping/ping.php"); 

    $host = '<IP ADDRESS>'; 

    $ping = new Ping($host); 

    $latency = $ping->ping(); 

    if (!is_bool($latency)){ 
     if(is_float($latency) || is_string($latency)) { 
      if(is_string($latency)){ 
       $s = split(".", $latency); 
       if($s[0] >= 100){ 
       $response_array['status'] = "success"; 
       $response_array['state'] = "WARNING"; 
       $response_array['timedate'] = date("Y-m-d H:i:s"); 
       $response_array['response'] = "High Latency"; 
       $response_array['ping'] = "$latency"; 
       $response_array['message'] = "null"; 
       }else{ 
       $response_array['status'] = "success"; 
       $response_array['state'] = "UP"; 
       $response_array['timedate'] = date("Y-m-d H:i:s"); 
       $response_array['response'] = "LIVE"; 
       $response_array['ping'] = "$latency"; 
       $response_array['message'] = "null"; 
       } 
      }elseif(is_float($latency)){ 
       if($latency >= 100){ 
       $response_array['status'] = "success"; 
       $response_array['state'] = "WARNING"; 
       $response_array['timedate'] = date("Y-m-d H:i:s"); 
       $response_array['response'] = "High Latency"; 
       $response_array['ping'] = "$latency"; 
       $response_array['message'] = "null"; 
       }else{ 
       $response_array['status'] = "success"; 
       $response_array['state'] = "UP"; 
       $response_array['timedate'] = date("Y-m-d H:i:s"); 
       $response_array['response'] = "LIVE"; 
       $response_array['ping'] = "$latency";  
       $response_array['message'] = "null";  
       }    
      } 
     }else{ 
      $response_array['status'] = "error"; 
      $response_array['state'] = "UNKONWN"; 
      $response_array['timedate'] = date("Y-m-d H:i:s"); 
      $response_array['message'] = "Unexpected Response!"; 
      $response_array['response'] = "$latency"; 
      $response_array['ping'] = "null";  
     } 
    }else { 
     $response_array['status'] = "error"; 
     $response_array['state'] = "DOWN"; 
     $response_array['timedate'] = date("Y-m-d H:i:s"); 
     $response_array['message'] = "Request Unreachable!"; 
     $response_array['response'] = "$latency"; 
     $response_array['ping'] = "null"; 
    }      

    $q = $l->query("INSERT INTO `enigmaStat`.`tbl_latency_stats` (`latency_stat_id` ,`latency_stat_date_time` ,`latency_stat_status` ,`latency_stat_response` ,`latency_stat_latency_value` ,`latency_stat_user_text`)VALUES ('' , '".$response_array['timedate']."' , '".$response_array['state']."', '".$response_array['response']."', '".$response_array['ping']."', '".$response_array['message']."')"); 


?> 

아무 것도 삽입하지 않습니다. 웹 사이트 경로에서 다음과 같이 명령 줄을 통해 파일을 실행했습니다.

php -f /var/www/html/includes/cron/cron.inc.a.php 

이 데이터베이스에 삽입됩니다.

서버 설정에 익숙하지 않으므로 사과하지 않으셔서 문제를 해결하는 데 필요한 세부 정보를 추가해 드리겠습니다.

감사합니다.


의 I는 시도 위키 다음 편집

: 데이터베이스에

env -i sh -c 'php -f /var/www/html/includes/cron/cron.inc.a.php' 

하고 작동 및 삽입.

+0

당신이 crontab을 태그 위키의 [디버깅 crontab 명령 (http://stackoverflow.com/tags/crontab/info) 섹션을 통해 갈 수 발견 한 내용을 추가 하시겠습니까? –

+0

@thatotherguy 위키에서 모든 제안을 실행했지만 결과는 없습니다. 모든 환경 에뮬레이션이 작동합니다. 로그 출력 없음. 무슨 일이 일어나고 있는지 정말 모릅니다. –

답변

1

옵션 플래그는 때때로 PHP의 cron 작업에 필요한 :

*/1 * * * * php -q /var/www/html/includes/cron/cron.inc.a.php &> dev/php.log 
+0

변경되지 않음 @meda 아직 실행되지 않음 –

+1

@DavidPassmore oops, 거기에서'root'를 제거합니다. cron이 실행될 때 사용자로 실행됩니다. – meda

+0

고마워요. :) –

관련 문제