запуск PHP-скрипта через cron, как я могу записать любой вывод? - PullRequest
7 голосов
/ 18 июня 2010

Утро всем,

У меня есть скрипт php, который я тестировал, и, кажется, он работает нормально, когда я вызываю его из командной строки.

Теперь я хочу автоматизировать его с помощью cron. Как я могу получить выходные данные, которые я поместил в файл, в качестве контрольных точек в файл журнала?

например, у меня есть несколько простых команд эха в сценарии, и я хотел бы, чтобы вывод отображался внутри существующего файла журнала (чтобы он автоматически поворачивался и т. Д.)

спасибо,

Грег

Ответы [ 2 ]

11 голосов
/ 18 июня 2010

Команда Cron для запуска:

/path/to/php -f /path/to/script.php >> /path/to/logfile.txt
0 голосов
/ 18 июня 2010

Попробуйте что-то вроде этого:

<?php
function logToFile($filename, $msg)
{ 
    $fd = fopen($filename, "a");
    $str = "[" . date("Y/m/d h:i:s", mktime()) . "] " . $msg;
    fwrite($fd, $str . "\n");
    fclose($fd);
}

function logToMail($msg, $address)
{ 
    $str = "[" . date("Y/m/d h:i:s", mktime()) . "] " . $msg;   
    mail($address, "Log message", $str);
}

function logToDB($msg, $type)
{ 
    // open connection to database
    $connection = mysql_connect("localhost", "joe", "pass") or die ("Unable to connect!");
    mysql_select_db("logdb") or die ("Unable to select database!");

    // formulate and execute query
    $query = "INSERT INTO log (date, type, msg) VALUES(NOW(), '$type', '$msg')";
    mysql_query($query) or die ("Error in query: $query. " .mysql_error());

    // close connection
    mysql_close($connection);
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...