将从 bash 脚本调用的 php 脚本的输出发送到 syslog

将从 bash 脚本调用的 php 脚本的输出发送到 syslog

将从 bash 脚本调用的 php 脚本的输出发送到 syslog

我正在尝试创建一个 bash 脚本(由 cron 作业调用),该脚本调用一个 php 文件(我还没有创建)。调用 php 文件很容易。php 脚本将大量内容输出到 stdout,我想将 php 脚本的输出重定向到记录器,以便我可以监视远程 syslog 服务器中的进度。

我尝试过类似的事情:

PHP_SCRIPT_PATH="/some/path"
ME=basename $0

LOGGER="logger -p cron.notice -t $ME"

cd $PHP_SCRIPT_PATH
php the_php_script.php &> eval $LOGGER


也尝试过:
php the_php_script.php | eval $LOGGER
但都不起作用。

我考虑过的另一个可能的解决方案是将 php 脚本的输出通过管道传输到日志文件,然后让另一个 bash 脚本读取该文件并将每行写入记录器。但我希望有一个脚本可以完成所有工作 :)

有人可以帮忙吗?

答案1

您对 的调用logger失败,因为$LOGGER不是命令。请尝试以下操作:

LOGGER=logger
LOGGER_OPTS="-p cron.notice -t $ME"

php whatever.php | $LOGGER $LOGGER_OPTS

相关内容