大家早上好,
我有一个 php 脚本,我一直在测试它,当我从命令行调用它时,它似乎运行良好。
我现在想通过 cron 自动化它,我怎样才能将我放入文件中的输出作为检查点写入到日志文件中?
例如,我在脚本中有一些简单的 echo 命令,我希望输出出现在现有日志文件中(以便它自动旋转等)
谢谢,
格雷格
要运行的 Cron 命令:
/path/to/php -f /path/to/script.php >> /path/to/logfile.txt &2>1
请注意,所有路径都必须是绝对路径,并且为了查看 PHP 错误,必须启用它们(即 display_errors=on)。
尝试这样的事情:
<?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);
}
?>