Задание крона не выполняет php файл и нормальный файл

У меня есть два файла, который должен выполняться каждый вечер.

Файл PHP содержит последние записи от базы данных и создает исходный файл в том же каталоге.

И нормальный файл, даже не выполняется.

Я пытался зарегистрироваться /var/log/syslog. найденный ниже это.

Файл журнала

Jul 29 13:56:01 ocs2 CRON[7016]: (root) CMD (/opt/lampp/bin/php /opt/lampp/htdocs/ats/cron_jobs/export_db_elastic.php)
Jul 29 13:57:01 ocs2 CRON[7118]: (root) CMD (source /opt/lampp/htdocs/ats/cron_jobs/tt2)
Jul 29 13:57:01 ocs2 CRON[7117]: (CRON) info (No MTA installed, discarding output)

Файл PHP содержит код для создания нормального файла

$db = mysqli_connect($host, $username, $password, $database) or die('Error connecting to DB : ' . mysqli_error($db));        

$q1 = "select * from elasticsearch_record where id = 1";
$q2 = "select max(id) as `max_num` from resumes";

$r1 = mysqli_query($db, $q1);
$r2 = mysqli_query($db, $q2);

if ($r1->num_rows > 0) {

    $rd1 = mysqli_fetch_array($r1);
    $rd2 = mysqli_fetch_array($r2);

    $start = $rd1['max_count'];
    $end = $rd2['max_num'];

    $one_up = $end + 1;

    $q3 = "update elasticsearch_record set max_count = '$one_up' where id = 1";
    $r3 = mysqli_query($db, $q3);


    $string1 = "bin=/root/elasticsearch-jdbc-1.6.0.0/bin\n";
    $string1 .= "lib=/root/elasticsearch-jdbc-1.6.0.0/lib\n";
    $string1 .= "echo '{\n";
    $string1 .= "\"type\" : \"jdbc\",\n";
    $string1 .= "\"jdbc\" : {\n";
    $string1 .= "\"url\" : \"jdbc:mysql://192.168.1.17:3306/c270751_resume\",\n";
    $string1 .= "\"user\" : \"ServerUser\",\n";
    $string1 .= "\"password\" : \"passwordhere\",\n";
    $string1 .= "\"sql\" : \"select * from resumes limit $start, $end\",\n";
    $string1 .= "\"index\" : \"rforceresumes\",\n";
    $string1 .= "\"type\" : \"resumetype\"\n";
    $string1 .= "}\n";
    $string1 .= "}' | java \\\n";
    $string1 .= "-cp \"\${lib}/*\" \\\n";
    $string1 .= "-Dlog4j.configurationFile=\${bin}/log4j2.xml \\\n";
    $string1 .= "org.xbib.tools.Runner \\\n";
    $string1 .= "org.xbib.tools.JDBCImporter";


    // echo "<pre>$string1</pre>";

    $myfile = fopen("tt2", "w") or die("Unable to open file!");
    fwrite($myfile, $string1);
    fclose($myfile);


} else {
    die("Do Nothing");
}

Нормальный файл для группового импорта Elasticsearch

bin=/root/elasticsearch-jdbc-1.6.0.0/bin
lib=/root/elasticsearch-jdbc-1.6.0.0/lib
echo '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://192.168.1.17:3306/c270751_resume",
"user" : "ServerUser",
"password" : "passwordhere",
"sql" : "select * from resumes limit 1, 222504",
"index" : "rforceresumes",
"type" : "resumetype"
}
}' | java \
-cp "${lib}/*" \
-Dlog4j.configurationFile=${bin}/log4j2.xml \
org.xbib.tools.Runner \
org.xbib.tools.JDBCImporter

Теперь, я чувствую, что эти файлы не выполняются с КРОНОМ, даже при том, что его отображенный в файлах журнала. Поскольку, normal file измененная дата не отражается.

Ниже код для Cron Job

56 13 * * * /opt/lampp/bin/php /opt/lampp/htdocs/ats/cron_jobs/export_db_elastic.php
57 13 * * * source /opt/lampp/htdocs/ats/cron_jobs/tt2

Я понятия не имею, даже думал. я проверил свою судьбу кода времени. Почему не выполняется правильно.

Примечание:

Когда я выполняю его вручную через терминал или браузер. его рабочее идеальное.

1
задан 29 July 2015 в 22:22

0 ответов

Другие вопросы по тегам:

Похожие вопросы: