将cron日志输出到php脚本


Output cron log to a php script

我知道可以将作业执行的输出记录到FILE中,但我想要的是实际调用另一个传递日志数据的php脚本,这样我就可以用php:处理它

<?php
$cronLog = file_get_contents('php://input'); // get the cronjob log
save_to_database($cronLog);

在crontab中,类似这样的东西:

*/1 * * * * /usr/bin/php /path/to/CRON.php >> /usr/bin/php /path/to/my/php/save_to_database.php

我不是unix专家,这可能吗?

缺少的是|管道运算符。目前,您正在使用>>,它将附加到文件中,并将垃圾添加到右侧脚本中。

你真正想做的是:

* * * * * php -q /path/to/first.php | php -q /path/to/read_stdin.php

这将左侧php脚本的stdout管道传输到右侧php脚本,例如可以使用fopen('php://stdin', 'r');读取。

管道真的很方便,如果你想了解更多,维基百科会了解更多。