将从 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