ICMP pingを送信する際のインターフェイスの除外

ICMP pingを送信する際のインターフェイスの除外

小さなLinuxアプリケーションを構築するには、システムのインターネット接続を確認する必要があります。しかし、私のボックスには、インターネット接続のバックアップに使用できる複数のネットワークポートがあります。基本的なネットワーク切断に応じて、いくつかのタスクを実行する必要があります。

-i および ping コマンドを使用してインターフェースを選択しました。

ping -I eth0 x.x.x.x 

ただし、このアプローチでは、私のアプリケーションで利用可能なすべてのインターフェースに言及する必要があります。する以外に、このようなことをする方法はないでしょうか?

ping -I !bkp0 x.x.x.x 

デフォルトでは、バックアップリンクを除くすべてのリンクの接続性を確認する必要があります。

ベストアンサー1

「いい」と呼ぶには、職業が1つだけ必要ですか? 1つのインターフェイスを除くすべてのインターフェイスへの接続を確認する必要があり、インターフェイス名がわかっている場合はスクリプトを作成できます。

for i in `ip -br link | cut -d" " -f1`
do
  if [ ${i} != "bkp0" ]
    then
      ping -c 1 -I ${i} so.me.add.ress
  fi
done

おすすめ記事