Linux

將從 bash 腳本呼叫的 php 腳本的輸出發送到 syslog

  • January 5, 2013

將從 bash 腳本呼叫的 php 腳本的輸出發送到 syslog

我試圖創建一個呼叫 php 文件(我還沒有創建)的 bash 腳本(由 cron 作業呼叫)。呼叫 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 腳本讀取該文件並將每一行寫入記錄器。但我想有一個腳本可以做所有事情:)

有人可以幫忙嗎?

您的呼叫logger失敗,因為$LOGGER不是命令。試試這個:

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

php whatever.php | $LOGGER $LOGGER_OPTS

引用自:https://serverfault.com/questions/463316