port 가 down 일 때 없을 경우 101 출력하는 스크립트


#!/bin/bash

source /home/shell/env.sh

#port_list=("80" "8080")

# port_list가 없을 경우 101 출력 후 종료
if [ -z "$port_list" ]; then
    echo 101
    exit 0
fi

  • port_list 변수가 비어있는지 확인합니다. 비어있다면 101을 출력하고 스크립트를 종료


# 포트 리스트를 순회하며 LISTEN 상태 확인
for port in "${port_list[@]};
do
    # 포트가 LISTEN 상태가 아닌 경우 해당 Port 출력
    if ! netstat - tnl | grep ":$port " > /dev/null; then
        echo $port
        exit 0
    fi

  • netstat 명령어를 사용하여 현재 시스템에서 LISTEN 상태인 포트를 확인
    • netstat -tnl 명령어는 현재 시스템에서 LISTEN 상태인 TCP 포트를 나열
    • grep ":$port " 명령어는 LISTEN 상태의 포트 리스트에서 현재 확인 중인 포트를 찾습니다.
    • 포트가 LISTEN 상태가 아닌 경우, 해당 포트 번호를 출력하고 스크립트를 종료


done

# 모든 포트가 LISTEN 상태인 경우 0 출력
echo 0


더보기

#!/bin/bash

source /home/shell/env.sh

#port_list=("80" "8080")

# port_list가 없을 경우 101 출력 후 종료
if [ -z "$port_list" ]; then
    echo 101
    exit 0
fi

# 포트 리스트를 순회하며 LISTEN 상태 확인
for port in "${port_list[@]};
do
    # 포트가 LISTEN 상태가 아닌 경우 해당 Port 출력
    if ! netstat - tnl | grep ":$port " > /dev/null; then
        echo $port
        exit 0
    fi

done

# 모든 포트가 LISTEN 상태인 경우 0 출력
echo 0

+ Recent posts