濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > LINUX下的流量監(jiān)控shell腳本

LINUX下的流量監(jiān)控shell腳本

熱門標(biāo)簽:揭陽(yáng)智能電話機(jī)器人推薦 河南信譽(yù)好的不封卡電話外呼系統(tǒng) 地圖標(biāo)注員都是年輕人 華鋒e路航港口地圖標(biāo)注 如果做線上地圖標(biāo)注 打電話機(jī)器人接我是他的秘書 百度地圖標(biāo)注錯(cuò)了有責(zé)任嗎 客服外呼系統(tǒng)怎么樣 江蘇云電銷機(jī)器人公司
最近比較忙,好久沒更新博客了,今天剛好不忙寫了一個(gè)流量監(jiān)控腳本.測(cè)試在centos下已通過,有需要的朋友可以試試,有BUG或者需要添加其他功能話可以留言哦.

一、腳本源碼
# vi /etc/rc.d/traffic_monitor.sh
----------------------------------------------
復(fù)制代碼 代碼如下:
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin;
export PATH
function traffic_monitor {
  # 系統(tǒng)版本
  OS_NAME=$(sed -n '1p' /etc/issue)
  # 網(wǎng)口名
  eth=$1
  #判斷網(wǎng)卡存在與否,不存在則退出
  if [ ! -d /sys/class/net/$eth ];then
      echo -e "Network-Interface Not Found"
      echo -e "You system have network-interface:\n`ls /sys/class/net`"
      exit 5
  fi
  while [ "1" ]
  do
    # 狀態(tài)
    STATUS="fine"
    # 獲取當(dāng)前時(shí)刻網(wǎng)口接收與發(fā)送的流量
    RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
    TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
    # 獲取1秒后網(wǎng)口接收與發(fā)送的流量
    sleep 1
    RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
    TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
    clear
    # 獲取這1秒鐘實(shí)際的進(jìn)出流量
    RX=$((${RXnext}-${RXpre}))
    TX=$((${TXnext}-${TXpre}))
    # 判斷接收流量如果大于MB數(shù)量級(jí)則顯示MB單位,否則顯示KB數(shù)量級(jí)
    if [[ $RX -lt 1024 ]];then
      RX="${RX}B/s"
    elif [[ $RX -gt 1048576 ]];then
      RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
      $STATUS="busy"
    else
      RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
    fi
    # 判斷發(fā)送流量如果大于MB數(shù)量級(jí)則顯示MB單位,否則顯示KB數(shù)量級(jí)
    if [[ $TX -lt 1024 ]];then
      TX="${TX}B/s"
      elif [[ $TX -gt 1048576 ]];then
      TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
    else
      TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
    fi
    # 打印信息
    echo -e "==================================="
    echo -e "Welcome to Traffic_Monitor stage"
    echo -e "version 1.0"
    echo -e "Since 2014.2.26"
    echo -e "Created by showerlee"
    echo -e "BLOG: http://www.showerlee.com"
    echo -e "==================================="
    echo -e "System: $OS_NAME"
    echo -e "Date:   `date +%F`"
    echo -e "Time:   `date +%k:%M:%S`"
    echo -e "Port:   $1"
    echo -e "Status: $STATUS"
    echo -e  " \t     RX \tTX"
    echo "------------------------------"
    # 打印實(shí)時(shí)流量
    echo -e "$eth \t $RX   $TX "
    echo "------------------------------"
    # 退出信息
    echo -e "Press 'Ctrl+C' to exit"
  done
}
# 判斷執(zhí)行參數(shù)
if [[ -n "$1" ]];then
  # 執(zhí)行函數(shù)
  traffic_monitor $1
else
  echo -e "None parameter,please add system netport after run the script! \nExample: 'sh traffic_monitor eth0'"
fi

----------------------------------------------
二、執(zhí)行效果
復(fù)制代碼 代碼如下:
# sh traffic_monitor.sh eth0


您可能感興趣的文章:
  • python實(shí)現(xiàn)監(jiān)控linux性能及進(jìn)程消耗性能的方法
  • Shell腳本實(shí)現(xiàn)Linux系統(tǒng)和進(jìn)程資源監(jiān)控
  • linux進(jìn)程監(jiān)控shell腳本代碼
  • Zabbix監(jiān)控Linux主機(jī)設(shè)置方法
  • 一個(gè)監(jiān)控LINUX目錄和文件變化的Shell腳本分享
  • shell腳本監(jiān)控linux系統(tǒng)內(nèi)存使用情況的方法(不使用nagios監(jiān)控linux)
  • linux命令學(xué)習(xí)之10個(gè)網(wǎng)絡(luò)命令和監(jiān)控命令
  • 監(jiān)控Linux系統(tǒng)節(jié)點(diǎn)和服務(wù)性能的方法

標(biāo)簽:邵陽(yáng) 淘寶邀評(píng) 金昌 馬鞍山 赤峰 許昌 巴彥淖爾 婁底

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《LINUX下的流量監(jiān)控shell腳本》,本文關(guān)鍵詞  LINUX,下,的,流量,監(jiān)控,shell,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《LINUX下的流量監(jiān)控shell腳本》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于LINUX下的流量監(jiān)控shell腳本的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    赣榆县| 中阳县| 萨嘎县| 雅安市| 罗甸县| 贵定县| 云霄县| 祁门县| 宜黄县| 峨山| 金川县| 宝丰县| 六盘水市| 东阿县| 华亭县| 高安市| 横山县| 兴和县| 邻水| 仁布县| 读书| 神池县| 万州区| 柳林县| 同江市| 洞口县| 宝鸡市| 策勒县| 南川市| 濮阳市| 胶州市| 华宁县| 韶山市| 清新县| 新沂市| 阿拉善盟| 会宁县| 凤翔县| 元氏县| 平阴县| 鄱阳县|