ping 응답시간 체크하기


핑의 응답시간을 쉘스크립트로 작성
사용방법은

./ping.sh 192.168.1.1 10

이렇게 하면 192.168.1.1의 time의 값이 10이하이면 정상 표시
10 이상 이면  빨간색으로 ping의 time값이 나타난다


#### 쉘 부분





#!/bin/bash
### PING의 TIME값 체크
### 작성자 :   진성훈
### VERSION 1.0


IP=$1 # 아이피를 입력또는 변수 $1으로 지정
MAX=$2 #  TIME의 값의 범위를 지정
SEG=”0.7″ # PING 체크 간격


### 변수지정
ping=”/bin/ping”



### BASH에서는 소수점을 인식못하기때문에 함수를 사용
###########################################################
# FUNCTIONS
#
function float_cond()
{
        local cond=0
        if [[ $# -gt 0 ]]; then
                cond=$(echo “$*” | bc -q 2>/dev/null)
                if [[ -z “$cond” ]]; then cond=0; fi
                if [[ “$cond” != 0  &&  “$cond” != 1 ]]; then cond=0; fi
        fi
        local stat=$((cond == 0))
        return $stat
}
###########################################################


### WHILE 문을 이용하여 계속 스크립트 실행
while true
do
        ### TIME의 숫자값을 확인
        RET=${ping} -c 1 ${IP} | grep 'time=' | awk '{print $7}' | cut -d '=' -f 2
       
        ### 타입값과 지정한 값을 비교
        #if float_cond “${RET} > ${MAX}”; then
        if float_cond “${RET} < ${MAX}”; then
                echo -e ” [“date '+%T'“] : ${IP}” “\e[1;32m time=${RET} ms \e[m”


        ## 지정한 time값보다 큰 값일 경우 실행
        else
                ### 확인
                echo -e ” [“date '+%T'“] : ${IP}” “\e[1;31m time=${RET} ms \e[m”
        fi


        ###  ping 체크 간격 변수 지정
        sleep ${SEG}
done


코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호