포트 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
두 조건 중 하나가 충족될 때까지 루프가 실행됩니다.