3

システムの再起動時にいくつかのサービスを実行するために Upstart を使用しています。これらのサービスは常に実行されている必要があります。最終的に一部がクラッシュしたことに気付いたので、(成功せずに) ウォッチドッグ スクリプトを作成しようとしています。

このスクリプトは、サービスのステータスをチェックします。サービスがダウンしている場合は、サービスを開始し、問題についてメールを送信する必要があります。電子メール スクリプトは php にあり、問題ありません。

ウォッチドッグ bash スクリプトの問題は、スクリプトを手動で起動すると、スクリプトを実行してサービスのステータスを読み取ることができることです。スクリプトを実行するために cronjob を使用すると、「空のステータス」出力が得られます。

スクリプトを示します。

#!/bin/bash
# Check the service
status=$(status SERVICE | awk '{print $2}')
echo "Status of the SERVICE: $status"

手動で実行すると、次のようになります。

Status of the SERVICE: stop/waiting

そして、cronjobでそれを実行すると、次のようになります:

Status of the SERVICE:

ご覧のとおり、cronjob でスクリプトを実行しても出力が得られません。つまり、cronjob は実行されていますが、サービスのステータスは提供されません。

あなたの X-vision が、私ができないというエラーを表示できることを願っています。

BR、

アルベルトフ

4

1 に答える 1