脚本获取网口接口速率并存入mysql

脚本如下:

netflow.sh

#!/bin/bash
#
while true;do                ##死循环
R1=`cat /sys/class/net/eth0/statistics/rx_bytes`  ##获取eth0的收到流量字节数
T1=`cat /sys/class/net/eth0/statistics/tx_bytes`  ##获取eht0发送的流量字节数
#
sleep 5
R2=`cat /sys/class/net/eth0/statistics/rx_bytes`  ##获取5s后收到的流量字节数
T2=`cat /sys/class/net/eth0/statistics/tx_bytes`  ##获取5s后发送出去的流量数
#
TBPS=`expr $T2 - $T1`            ##相减
RBPS=`expr $R2 - $R1`
TKBPS=`expr $TBPS / 10240`        ##换算为KB,由于这里应该是除以1024 再处于8 然后再处于2s,所以这里直接就是使用10240,为了简化而已。
RKBPS=`expr $RBPS / 10240`
TIME=`date`                        ##当前时间
sql="insert into linux.netflow(TXBPS,RXBPS,TIME)values($TKBPS,$RKBPS,‘$TIME‘)"
mysql -uroot -p123456 -e "$sql"        ##将数据插入mysql表中
#mysql -uroot -p123456 -e "select * from linux.netflow"
done

netflow.sql   ##创建mysql表(ID,TXBPS,RXBPS,TIME)

create database linux;
use linux;
create table netflow(ID int auto_increment primary key,TXBPS float,RXBPS float,TIME char(10));

使用过程如下:

①执行netflow.sql创建mysql表

[[email protected] ~]#  mysql  -uroot  -p < netflow.sql

②netflow.sh后台运行

[[email protected] ~]#  ./netflow.sh &    ##&是自己放到后台执行,脚本会不断的获取接口速率,然后保存在mysql中

③编辑php网页,实现web 方式查看流量信息

<?php
$conn=mysql_connect("localhost","root","123456");
if($conn)
{
        $sql="select * from linux.netflow limit 10";
        $result=mysql_query("$sql");
        echo "<center>";
        echo "<table border=1>";
        echo "<captive>eth0_speed</captive>";
          echo "<tr>";
                echo "<th>ID</th>";
                echo "<th>TIME</th>";
                echo "<th>RXBPS</th>";
                echo "<th>TXBPS</th>";
          echo "</tr>";
        while($filter=mysql_fetch_assoc($result)){
          echo "<tr>";
                echo "<td>$filter[ID]</td>";
                echo "<td>$filter[TIME]</td>";
                echo "<td>$filter[RXBPS]</td>";
                echo "<td>$filter[TXBPS]</td>";
          echo "</tr>";
        }
        echo "</table>";
        echo "</center>";
}
else{
        echo failure;
}

?>

效果图:

页面较为简单,只是为了演示而已,后续可以进一步强化,可以通过绘图等形式更加直观展示。

时间: 2024-12-15 03:26:54

脚本获取网口接口速率并存入mysql的相关文章

用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库

1 #该脚本可以提取沪深两市上市公司股票信息,并按以下信息分类:(1)当天股价创近10个交易日新高的股票:(2)停牌的股票:(3)复牌不超过一个交易日或者新发行的股票 2 #将分类后的股票及其信息(股价新高.当前状态等)存入mysql数据库 3 from time import * 4 import pandas as pd 5 import tushare as ts 6 from datetime import date 7 import datetime 8 import MySQLdb

爬取京东本周热卖商品基本信息存入MySQL

爬取京东本周热卖商品基本信息存入MySQL 网络爬虫介绍 概述 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. 产生背景 随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战.搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人

爬取京东本周热卖商品所有用户评价存入MySQL

爬取京东本周热卖商品所有用户评价存入MySQL 说明 本项目是对(爬取京东本周热卖商品基本信息存入MySQL)项目的追加,所以会有一些内容上的衔接,例如工具的使用方法等在此篇就不赘述,大家可以直接去看上一个项目中的介绍.爬取京东本周热卖商品基本信息存入MySQL的链接:http://blog.csdn.net/u011204847/article/details/51292512 项目简介 需求概要 1.按照下面所述进入京东本周热卖页面,抓取本周热卖页面所有商品链接. 2.抓取评价中的商品评价.

python 学习笔记 12 -- 写一个脚本获取城市天气信息

最近在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么能够显示后最重要的就是显示什么的问题了.最容易想到的就是显示时间啊,CPU利用率啊,IP地址之类的.那么我觉得呢,如果能够显示当前时间.温度也是甚好的,作为一个桌面小时钟还是很精致的. 1. 目前有哪些工具 目前比较好用的应该是 weather-util, 之前我获取天气信息一般都是通过它. 使用起来也很简单: (1) Debian/Ubuntu 用户使用 sudo apt-get install weather-util 安装

对于shell脚本获取参数的一些小技巧

问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i  取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i=1 while [ $i -le $NUMBER ] do a[$i]=$1 #将数组a[i]赋值为$1,即取

内容和图片在从网络上获取到之后都会存入到本地缓存中

内容和图片在从网络上获取到之后都会存入到本地缓存中,因此即使手机在没有网络的情况下依然能够加载出以前浏览过的新闻.而使用的缓存技术不用多说,自然是DiskLruCache了,那么首先第一个问题,这些数据都被缓存在了手机的什么位置呢? 其实DiskLruCache并没有限制数据的缓存位置,可以自由地进行设定,但是通常情况下多数应用程序都会将缓存的位置选择为 /sdcard/Android/data/<application package>/cache 这个路径.选择在这个位置有两点好处:第一,

php把图片存入mysql DATA库

php把图片存入mysql DATA库----在网站建设过程中,笔者与大家分享一下用php把图片存入mysqlDATA库中并在网页上显示的代码,具体如下: //保存图片到DATA库 If($Picture != "none") { $PSize = filesize($Picture); $mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize)); mysql_connect($host,$user

Python脚本获取参数的方式

在运维过程中,常常需要自己写脚本,而python往往是最佳的选择.那么怎么获取python脚本的命令行参数呢,例如: python demo.py a b c 怎么获取命令行参数,a,b,c 呢?可以通过sys库里面的argv来实现, 例如: $ cat demo.py #-*- coding: UTF-8 -*- import os import sys def demo(): print sys.argv print len(sys.argv) for i in range(len(sys.

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7