본문 바로가기

스크립트

port check 스크립트

반응형

port check 스크립트

스크립트 작성

vim check_port_and_notify.sh
#!/bin/bash

# 대상 IP와 포트
CHECK_IP="192.168.0.100"
CHECK_PORT="80"

# Slack Webhook URL
SLACK_WEBHOOK_URL="${SLACK_WEBHOOK_URL:-"https://hooks.slack.com/services/T01/B08"}"

# 로그 파일 경로
LOG_FILE="logs/check_port.log"

# Slack 메시지 함수
send_slack_message() {
    local message="$1"
    curl -s -X POST -H 'Content-type: application/json' \
        --data "{\"text\":\"${message}\"}" "${SLACK_WEBHOOK_URL}" > /dev/null
}

# 반복 체크
while true; do
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
    if nc -zv -w 3 "$CHECK_IP" "$CHECK_PORT" &> /dev/null; then
        MSG="✅ [$TIMESTAMP] SUCCESS: ${CHECK_IP}:${CHECK_PORT} 연결 성공"
        echo "$MSG" >> "$LOG_FILE"
        send_slack_message "$MSG"
        break
    else
        MSG="❌ [$TIMESTAMP] FAILED: ${CHECK_IP}:${CHECK_PORT} 연결 실패"
        echo "$MSG" >> "$LOG_FILE"
        sleep 10
    fi
done

로그 디렉토리 생성

mkdir logs

실행 권한 부여

chmod +x check_port_and_notify.sh

백그라운드 실행

./check_port_and_notify.sh &

로그 확인

tail -f logs/check_port.log

 

728x90
반응형