自分がよく使っているサービスや、自社内のサーバが落ちてしまっていたら、復旧したタイミングで通知が欲しいと思うものでしょう。落ちないのがベストですが、万一落ちてしまったら、次は復旧したタイミングを知りたいものです。 そこで使ってみたいのがwait-forです。サービスを監視して、復旧したタイミングで任意のコマンドを実行できます。

wait-forの使い方

wait-forはホスト、ポート番号を指定します。そして、そのサービスが復旧したタイミングで実行するコマンドを指定します。例えば以下のようなコマンドになります。

$ wait-for localhost:3306 -- echo "MySQL is up"
MySQL is up

wait-forを使えばリモートのサービスが復旧するのを待ったり、復旧したタイミングでSlackへ通知したりすることもできます。wait-for自体は一度コマンドを実行したタイミングで完了しますので、サービスが落ちたと分かったタイミングでセットするようなツールになります。

wait-forはシェルスクリプト製のオープンソース・ソフトウェア(MIT License)です。

Eficode/wait-for: ./wait-for is a script to wait for another service to become available.