我知道可以将作业执行的输出记录到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');
读取。
管道真的很方便,如果你想了解更多,维基百科会了解更多。