国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Shell腳本實現檢測某ip網絡暢通情況(含短信報警功能)

2019-10-26 18:43:41
字體:
來源:轉載
供稿:網友

花了1天的時間寫了一個檢測某ip是否網絡暢通的腳本,只檢測網絡是否暢通的功能很容易實現,但加了一些限制功能卻不好實現。
代碼如下:
#!/bin/bash
####################################################################################
#本腳本放于異機,使用定時任務檢測192.168.10.231是否網絡暢通,如果不通則發短信告警 
#為防止頻繁收到短信,對發送短信做了如下限制:                                     
#一小時內只發前三條告警短信,也就是如果網絡一直不通,則每小時內只發前三條短信。   
#本腳本只能檢測一個ip是否網絡斷開,可在開始部分加個循環,檢測多個ip               
####################################################################################
#初始化環境變量
source /root/.bash_profile
#郵件發送列表
mail_list='135xxxxxxxx@139.com,zhangwz@xx.net'
#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網絡已斷開,請檢查 /n/n 告警時間:$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`

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辉县市| 黄浦区| 许昌市| 鸡泽县| 丰台区| 苏州市| 城固县| 江门市| 东乡族自治县| 永嘉县| 樟树市| 班玛县| 余江县| 云阳县| 上高县| 五家渠市| 广元市| 溆浦县| 平安县| 佛学| 北安市| 砚山县| 岳池县| 巴东县| 定西市| 新河县| 体育| 墨竹工卡县| 龙南县| 万宁市| 甘洛县| 阿合奇县| 台东市| 蕉岭县| 西峡县| 新源县| 饶河县| 资中县| 都江堰市| 嘉鱼县| 遂平县|