- 论坛徽章:
- 0
|
这里是修改后的信息,继续跟进谢谢大家了
本帖最后由 qingyuan0o0 于 2013-08-07 20:19 编辑
- #!/bin/bash
- #智能判断提速shell
- #原理:通过判断目前网速使用情况
- #进行提速操作
- #!/usr/bin/env bash
- time=1
- rxman=0
- txman=0
- R_KB_PerSec=0
- T_KB_PerSec=0
- while true;
- do
- R_1=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`; #提取1秒前值 因为现在是在测试模式,为了方便直接把pppoe-wan给写进去,到时候直接换成$1就好了
- T_1=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`; #提取1秒前值 然后直接打上所需要的网络接口即可
- R_C_1=${R_KB_PerSec}; #提取1秒前值
- T_C_1=${T_KB_PerSec};
- sleep 1;
- STRX=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`; #提取当前值
- STTX=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`; #提取当前值
- R_Byte_PerSec=$(expr $STRX - $R_1);
- T_Byte_PerSec=$(expr $STTX - $T_1);
- R_KB_PerSec=$(expr ${R_Byte_PerSec} / 1024);
- T_KB_PerSec=$(expr ${T_Byte_PerSec} / 1024);
- STRRX=${R_KB_PerSec}; #提取当前值
- STRTX=${T_KB_PerSec};
- rxman=$(expr $rxman + $STRRX) #无限增大值来平均
- txman=$(expr $txman + $STRTX)
- pjjrx=$(expr $rxman + $R_C_1); #增加下一秒的值
- pjjtx=$(expr $txman + $T_C_1);
- pjrx=$(expr $pjjrx / $time); #得到平均值
- pjtx=$(expr $pjjtx / $time);
- if [ $time -ge '30' ] ; then time=0 && rxman=0 && txman=0 ;fi
- time=$(expr $time + 1); #每滚动1秒需要增大一个值来平均
- echo `date +%Y-%m-%d\ %H:%M:%S`
- echo 实时速率:上行${T_KB_PerSec}KB,下行${R_KB_PerSec}KB
- echo 30s 流量: 上行 $pjjtx, 下行 $pjjrx t=$time
- echo 平均速率: 上行 $pjtx, 下行 $pjrx
- done
复制代码 现在实现简单不用生成文件来进行判断时间,虽然不是很完美,但是这几天的学习还是有所改进,谢谢大家指点
现在烦恼的是怎么POST提速和关闭提速,以及如何触发,我先保存一下,下班回家后继续研究 |
|