デーモン終了時にメールを送る

デーモン終了時にメールを送る

デーモンが正しい用語であるかどうかはわかりませんが、AIXで「at」コマンドを使用して開始するいくつかのプロセス(kshスクリプト)があります。終了を求めるメッセージが表示されるまで実行されることが予想され、この時点でkshスクリプトはプロセスがプロセス所有者のアカウントにメールメッセージを送信できるようにする「終了」を実行します。致命的なエラーが原因でプロセスが終了すると、電子メールメッセージも受信されます。何らかのエラーが原因でプロセスが終了した場合にメールを送信するのは問題ありませんが(デバッグ情報を提供するため)、通常のシャットダウンが発生した場合はメールメッセージが送信されないようにしたいと思います。それは可能ですか?

ベストアンサー1

エラーの出力がstderrとして印刷され、通常出口のすべての出力がstdoutとして印刷されている場合は、startコマンドを使用して出力をリダイレクトできますat

at command > /dev/null

デフォルトでは、atstdoutとstderrはマンページから電子メールで送信されます。

ユーザーはコマンドに対して標準エラーと標準出力(利用可能な場合)を受け取ります。メールは /usr/sbin/sendmail コマンドを使用して送信されます。

問題は、エラーで終了すると標準出力も失われることです。この種の操作のために他のコマンドをラップし、出力(stdoutとstderr)をキャッシュし、コマンドの終了値がゼロ以外(またはいくつかの特殊エラー文字列)を送信する小さなPythonプログラムがあります。キャッシュされたデータは次のとおりです。これはエラーにもかかわらず、常にゼロで終了するいくつかのWindowsリンカーにとって便利です。 )。

おすすめ記事