質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Q&A

3回答

1283閲覧

pingで1回目は応答なし、2回目は応答ありのやり方

beginner_Linux

総合スコア21

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

0グッド

0クリップ

投稿2017/08/20 12:23

編集2017/08/20 12:49

シェルでpingを送ってサーバーが生きているか確認するスクリプトを作っています。
サーバが生きているかはpingを2回送ります。
例えば1回目のpingを送って応答が無ければ数秒待って2回目のpingを送るといった感じです。

それで1回目のpingは応答無しにして2回目のpingを応答ありというようにしたいのですが、どうしたらいいでしょうか?

1回目の応答無ければ15秒待って2回目のpingを送っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

mattinさんのご回答通りに
until ping -c1 www.google.com ; do sleep 15; done
とすれば良いかと思いますが、
そもそもpingは最初の1回はARPのために落ちるのが正常な動作なので
サーバの死活確認方法には注意をされた方が良いです。

クライアント側にサーバのARPテーブルができていない状態では
サーバがネットワークに正常に接続されている生きの状態であっても
PINGを5回打てば
×○○○○
という結果になるのが正常な動作です。

ARPテーブルができている状態であれば
○○○○○
となります。

この辺りを良く理解された上でスクリプトを作られるのが良いと思いますよ。

投稿2017/08/22 07:28

Yatsurugi

総合スコア1628

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ネットワークを止めておいて(線を抜いてもいい)15秒以内に再起動すればいいのでは?

投稿2017/08/20 13:13

otn

総合スコア84538

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

until ping -c1 www.google.com ; do sleep 1; done

お好みで 1 を変更下さい。

投稿2017/08/20 12:33

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beginner_Linux

2017/08/20 12:57

これはpingを送って1秒間サーバーを停止するスクリプトでしょうか?
mattn

2017/08/20 14:29

ping を1回送って、失敗したならば1秒待つスクリプトです。 質問の内容であれば sleep 15 にします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問