netcatを使用して複数のリモートサーバーのポートを確認するには?

netcatを使用して複数のリモートサーバーのポートを確認するには?

ポート 1521 が server1 と server2 で開かれるのを待ってから、start_apps.sh スクリプトを実行するスクリプト ファイルに次の行があります。

ポート1521がサーバー(server1またはserver2)で開かれるのを待ってからstart_apps.shスクリプトを実行するようにこの設定を変更するにはどうすればよいですか。

until (nc -z  server1 1521); do echo "$(date +'%Y-%m-%d %T') wait for server1";done
until (nc -z server2 1521); do echo "$(date +'%Y-%m-%d %T') wait for server2"; done
start_apps.sh

ベストアンサー1

非遮断チェックを実行するループを使用します。それは次のとおりです。

#!/bin/sh
while [ 1 ]; do
    if [ $(nc -z server1 1521) ] || [ $(nc -z server2 1521) ]; then
        break
    fi
    sleep 1 # if desired
done
start_apps.sh

両方の条件のいずれかが満たされるまでループが実行されます。

おすすめ記事