监控linux流量shell版
想要实时查看linux流量情况,又不想再去下第三方工具,可以直接写脚步运行!
系统:centos 6.5
原理:从/proc/net/dev中获取到流量情况,再通过换算并除以间隔时间来得到流量单位M
#------------------
#Author:Administrator
#Created:--
#------------------
#!/bin/bash #使用方法
usage()
{
echo "useage: $0 ethname intervel"
exit
} #网口配置
if [ $# -gt ];then
ethname=$
num=`ifconfig|grep ${ethname}|wc -l`
if [ $num -gt ];then
ethname=$
else
echo "Can't find $ethname,Please Check"
exit
fi
fi #时间配置
intervel=
if [ $# -gt ]; then
interval=$
test=`expr "$interval" \* `
if [ "$test" != "" ]; then
echo "Invalid <interval> param '$interval' . It should be a integer number. Usage: $0 ethname intervel"
exit -
fi
if [ $interval -lt ]; then
echo "Invalid <interval> param '$interval' . It should be > 0 (seconds). Usage: $0 ethname intervel"
exit -
fi
fi #函数判断
if [ $# -ne ]
then
usage
fi echo "$0 is starting,Device is $1,Intervel is $2"
echo -e "\n" typeset Rev old_Rev eth=$
intervel=$ old_Rev=`cat /proc/net/dev|grep $eth| awk '{print $1}'| awk -F : '{print $2}'`
old_Send=`cat /proc/net/dev|grep $eth|awk '{print $9}'`
#echo "old_Rev is $old_Rev"
#echo "Old_send is $old_Send" while true
do
sleep $intervel Rev=`cat /proc/net/dev|grep $eth|awk '{print $1}'|awk -F : '{print $2}'`
Send=`cat /proc/net/dev|grep $eth|awk '{print $9}'`
#echo "Rev is $Rev"
#echo "Send is $Send" diff_1=`awk -v Rev=$Rev -v old_Rev=$old_Rev -v intervel=$intervel 'BEGIN{printf "Receive is %6.2f", ( Rev - old_Rev ) / 1024 / 1024 / intervel * 8}'` diff_2=`awk -v Send=$Send -v old_Send=$old_Send -v intervel=$intervel 'BEGIN{printf "Send is %6.2f", ( Send - old_Send ) / 1024 / 1024 / intervel * 8}'` echo "`date +'%Y-%m-%d %H:%M:%S'` Speed: IN ${diff_1} mbps OUT ${diff_2} mbps" old_Rev=$Rev
old_Send=$Send
done
效果如下:
[root@localhost tools]# ./bandwidth.sh eth0
./bandwith.sh is starting,Device is eth0,Intervel is
Ctrl+C To Stop! -- :: Speed: IN Receive is 0.02 mbps OUT Send is 0.01 mbps
-- :: Speed: IN Receive is 0.01 mbps OUT Send is 0.00 mbps
-- :: Speed: IN Receive is 0.01 mbps OUT Send is 0.00 mbps
在centos 7中,/proc/net/dev显示与centos 6有点差距,所以如果在centos 7中使用,需要将以下两个地方更改:
old_Rev=`cat /proc/net/dev|grep $eth| awk '{print $2}'`
old_Send=`cat /proc/net/dev|grep $eth|awk '{print $10}'`
#---------------------------------------------------------------------
Rev=`cat /proc/net/dev|grep $eth| awk '{print $2}'`
Send=`cat /proc/net/dev|grep $eth|awk '{print $10}'`
如使用有问题,请联系:
362299908@qq.com
监控linux流量shell版的更多相关文章
- 监控linux流量python版
python版监控linux流量 直接上代码,使用OptionParser来传入参数 #coding:utf-8 #------------- #Author:Hu #Data:20150520 #- ...
- (转)开发监控Linux 内存 Shell 脚本
原文:http://blog.csdn.net/timchen525/article/details/76474017 题场景: 开发Shell 脚本判断系统剩余内存的大小,如果低于100MB,就邮件 ...
- 通过snmp监控linux
一.linux snmpd安装 yum install -y net-snmp net-snmp-utils 二.snmp的配置(vim /etc/snmp/snmpd.conf) com2sec n ...
- linux 下监控进程流量情况命令 NetHogs
摘自: http://www.cnblogs.com/kerrycode/p/4748970.html NetHogs介绍 NetHogs是一款开源.免费的,终端下的网络流量监控工具,它可监控Linu ...
- Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量
Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量 ...
- 监控linux服务器网卡流量
监控linux服务器网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:众所周知,我们安装zabbix服务器 ...
- Linux/Unix shell 监控Oracle实例(monitor instance)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 监控Oracle监听器(monitor listener)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 监控Oracle告警日志(monitor alter log file)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
随机推荐
- C++11 新特性:Lambda 表达式
参考文章:https://blogs.oracle.com/pcarlini/entry/c_1x_tidbits_lambda_expressions 或许,Lambda 表达式算得上是 C++ 1 ...
- WCF(一)
摘自:http://www.cnblogs.com/yank/p/3653160.html WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foun ...
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1 ...
- 关于Cocos2d-x的瓦片地图
1.cocos2d-x的瓦片地图是用Tiled地图编辑器做的,这个软件开源,免费,一般都是用它制作瓦片地图. 2.瓦片地图是由块层和对象组成的,块层的作用是显示和一些重叠的时候覆盖角色的作用,而对象是 ...
- ubuntu 16.04 安装pycharm
Ubuntu16.04下安装Cuda8.0+Caffe+TensorFlow-gpu+Pycharm过程(Simple) ubuntu 16.04 安装pycharm 1.安装java jdk 直接 ...
- e621. Activating a Keystroke When Any Child Component Has Focus
Normally, a keystroke registered on a component is activated when the component has the focus. This ...
- (转)音频输出PCM与LPCM有什么不同
多声道LPCM:无损音轨原始存在格式,概念上等效于wave文件,并不需要运算解码,可直接输入功放进行DA转换,光纤和同轴接口只能传输2声道LPCM,多声道LPCM需要HDMI接口传输. PCM: ...
- UIView的几个枚举定义
UIView是iOS开发最主要的视图,非常多控件都是继承它,掌握当中的几个基本枚举定义,有利益理解视图的载入和參数差别. 一.UIViewAnimationCurve UIView的基本动画变化规律 ...
- 【AngularJS】AngularJS整合Springmvc、Mybatis环境搭建
近期想学习AngularJS的使用,网上搜了一圈后,折腾了半天解决bug后,成功使用AngularJS整合Springmvc.Spring.Mybatis搭建了一个开发环境.(这里Spring使用的版 ...
- Jquery实现选项卡功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...