셸 스 크 립 트 는 특정한 ip 네트워크 의 원활 한 상황 을 감지 합 니 다(문자 경보 기능 포함).

한 ip 의 네트워크 가 잘 통 하 는 지 확인 하 는 스 크 립 트 를 하루 만 에 썼 다.네트워크 가 잘 통 하 는 지 확인 하 는 기능 만 쉽게 이 루어 지지 만 제한 기능 을 추가 하면 실현 되 지 않 는 다.

#!/bin/bash
####################################################################################
# , 192.168.10.231 ,  
# , :                                     
# , , 。   
# ip , , ip               
####################################################################################
#
source /root/.bash_profile
#
mail_list='[email protected],[email protected]'
#ping ip
ping=`ping -c 3 192.168.1.69|awk 'NR==7 {print $4}'`
# ping ,
if [ $ping -eq 0 ]
then
  # mailinfo ,
  if [ ! -e ./mailinfo ]
  then
  touch ./mailinfo
  fi
  # ,
  now_time=`date`
  # ./mailinfo ,
  row_num=`wc -l ./mailinfo | cut -c 1`
  if [ $row_num -eq 0 ]
    then
    echo " "
    echo -e "1.69 ,

:$now_time" | mutt -s "1.69 " $mail_list
    #
    date +%Y%m%d-%H%M > ./mailinfo
    echo 1 >> ./mailinfo
  # mailinfo , ( 1 ) ,
  else
    #
    last_date=`head -1 ./mailinfo | cut -c 1-8`
    last_time=`head -1 ./mailinfo | cut -c 10-13`
    # 1
    current_date=`date +%Y%m%d`
    current_time=`date +%H%M`
    # , 10# 0 8
    let time_diff=10#$current_time-10#$last_time
    #
    send_times=`tail -1 ./mailinfo`
      # :
      # > , , send_times 1
      if [ "$current_date" -gt "$last_date" ]
        then
        echo " "
        echo -e "1.69 ,

:$now_time" | mutt -s "1.69 " $mail_list
        #
        date +%Y%m%d-%H%M > ./mailinfo
        echo 1 >> ./mailinfo
      fi
      # and 1 , , send_times 1
      if [ "$current_date" -eq "$last_date" -a $time_diff -ge 100 ]
        then
        echo " "
        echo -e "1.69 ,

:$now_time" | mutt -s "1.69 " $mail_list
        #
        date +%Y%m%d-%H%M > ./mailinfo
        echo 1 >> ./mailinfo
      fi
      # and send_times 1, , 1
      if [ "$current_date" -eq "$last_date" -a $send_times -eq 1 ]
        then
        echo " "
        echo -e "1.69 ,

:$now_time" | mutt -s "1.69 " $mail_list
        #
        date +%Y%m%d-%H%M > ./mailinfo
        echo 2 >> ./mailinfo
      fi
      # and send_times 2, , 1
      if [ "$current_date" -eq "$last_date" -a $send_times -eq 2 ]
        then
        echo " "
        echo -e "1.69 ,

:$now_time" | mutt -s "1.69 " $mail_list
        #
        date +%Y%m%d-%H%M > ./mailinfo
        echo 3 >> ./mailinfo
      fi
  fi
fi

좋은 웹페이지 즐겨찾기