Linux
如何使用 netcat 檢查多個遠端伺服器上的埠?
我在腳本文件中有以下幾行,等到 server1 中的埠 1521 打開並且 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
我會使用一個執行非阻塞檢查的循環。就像是:
#!/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
此循環將一直執行,直到滿足任一條件。