終了ステータスに応じてMAILTOにcronメールを出力する

終了ステータスに応じてMAILTOにcronメールを出力する

次のPHPコマンドを実行するcronジョブがあります。

php /path/to/script.php > dev/null

STDERR出力のみMAILTOアドレスに送信する必要があります。私が知る限り、終了ステータスが1であっても、PHPスクリプトはSTDERR情報を出力しません。

phpコマンドの出力(STDOUT)を取得し、終了ステータスが0以外の場合にのみMAILTOに送信する方法は?

ベストアンサー1

php /path/to/script.php > logfile || cat logfile; rm logfile

標準出力をダンプし、logfileスクリプトが失敗した場合にのみ出力します(ゼロ以外の終了)。

注:スクリプトが次に出力される可能性がある場合stderrstderr次に、にリダイレクトする必要がありますstdout。それ以外の場合は、終了コードがゼロであっても、に印刷された内容がある場合、stderrcronは電子メールを送信します。

php /path/to/script.php > logfile 2>&1 || cat logfile; rm logfile

おすすめ記事