监视eth0口流量,如超过10M,就自动断线,5秒钟后再连接。
下面是我写的烂脚本,好像不能用,因为没编过程序,不知道那些while和for什么的怎么用,还请指点下如何更改,或者使用哪种语句更好。多谢了!!!!!
#!/bin/bash
Ipflow=0
Max_Rate=340000
if [ $Ipflow -le $Max_Rate ]
then Ipflow=`ifconfig|grep -C 3 "Interrupt"|grep "RX.*TX"|grep -o ':[0-9]\+'|gre
p -o '[0-9]\+'|awk '{sum+=$0}END{print sum}'`
else
old_Ipflow=$Ipflow
Ipflow-=$old_Ipflow
ipconfig eth0 down
fi
sleep 5
ipconfig eth0 up
今天又改了一下,但运行时还是没反应,请大家帮忙看看问题出在哪里了,多谢了!!!
#!/bin/bash
old_flow=0
while [ -n 1234 ]
do current_flow=`ifconfig|grep -C 3 "Interrupt"|grep "RX.*TX"|grep -o ':[0-9]\+'|grep -o '[0-9]\+'|awk '{sum+=$0}END{print sum}'`
Ipflow=`expr "$current_flow-$old_flow"|bc`
old_flow=$current_flow
if [ $Ipflow -ge 1000000 ]
then
ipconfig eth0 down
sleep 5
ifconfig eth0 up
fi
done
提示
1, 运行的时候加上-vx开关用于调试, 找出问题
2, 每个变量都echo一下, 看是否是自己需要的
3, ifconfig != ipconfig
会员注册
会员登录
个人空间