免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: qingyuan0o0
打印 上一主题 下一主题

[网络相关] 请教一些问题?望大家能指点一下!关于合理使用网络资源 [复制链接]

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
31 [报告]
发表于 2013-08-07 11:03 |只看该作者
这段可以改一下, 首先 S1 不可能是60, 比较的时候改成-ge.
  1. if [ $S1 -gt '30' ] ; then
  2.   S2=$(expr ${S1} - 30)
  3. else
  4.   S2=$(expr ${S1} + 30)
  5. fi
  6. if [ $S2 == '60' ] ; then S2=00 ; fi
  7. if [ $S1 == '60' ] ; then S1=00 ; fi
复制代码
改成
  1. if [ $S1 -ge '30' ] ; then
  2.   S2=$(expr ${S1} - 30)
  3. else
  4.   S2=$(expr ${S1} + 30)
  5. fi
复制代码

论坛徽章:
0
32 [报告]
发表于 2013-08-07 11:35 |只看该作者
回复 32# rdcwayx


   

60.jpg (118.57 KB, 下载次数: 49)

60.jpg

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
33 [报告]
发表于 2013-08-07 11:53 |只看该作者
  1. expr1 -gt expr2        Returns true if expr1 is greater than expr2

  2. expr1 -ge expr2        Returns true if expr1 is greater than or equal to expr2
复制代码
-ge 更符合你的要求。

论坛徽章:
0
34 [报告]
发表于 2013-08-07 12:21 |只看该作者
回复 34# rdcwayx


    嗯好的,已经更正了,谢谢
如果我算实时速率也就成为S1与S2相差1秒,这里是不是要写成
  1. S1=`date +%S`
  2. if [ $S1 -ge '30' ] ; then
  3.   S2=$(expr ${S1} - 1)
  4. else
  5.   S2=$(expr ${S1} + 59)
  6. fi
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
35 [报告]
发表于 2013-08-07 12:38 |只看该作者
本帖最后由 rdcwayx 于 2013-08-07 14:38 编辑
  1. S1=`date +%S`
  2. if [ $S1 == '00' ] ; then
  3.   S2=59
  4. else
  5.   S2=$(expr ${S1} - 1)
  6. fi
复制代码
所以我一开始就说你这样搞很麻烦的。

论坛徽章:
0
36 [报告]
发表于 2013-08-07 13:50 |只看该作者
回复 36# rdcwayx


    嗯,感谢,我这一步完全是被限制在框架内(这样理论上值是没有错,但是算上延误就不准确了)
我进去饶了一圈又转出来,套用上我第一页有发出来的一个测速语句再结合30秒值
我写出了这个,如果这个问题稍微准确一些,接下来专攻wget的POST,找一下网页发出了什么语句执行提速的
  1. #!/usr/bin/env bash

  2. mkdir -p /root/record
  3. while true;
  4. do
  5. echo `date +%S` `cat /sys/class/net/pppoe-wan/statistics/rx_bytes ` `cat /sys/class/net/pppoe-wan/statistics/tx_bytes ` >/root/record/`date +%S`

  6. ST=`date +%S`
  7. #计算30秒的差值
  8. if [ $ST -ge '30' ] ; then
  9.   S30=$(expr ${ST} - 30)
  10. else
  11.   S30=$(expr ${ST} + 30)
  12. fi
  13. S30=$(printf "%02d\n" $S30)  #补齐到2位
  14. R_30=$(awk '{print $2}' /root/record/$S30)   #提取30秒前值
  15. T_30=$(awk '{print $3}' /root/record/$S30)   #提取30秒前值
  16. R_1=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取1秒前值
  17. T_1=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取1秒前值
  18. sleep 1;
  19. STRX=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取当前值
  20. STTX=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取当前值
  21. R_Byte_PerSec=$(expr    $STRX  -   $R_1);
  22. T_Byte_PerSec=$(expr    $STTX  -   $T_1);
  23. R_KB_PerSec=$(expr      ${R_Byte_PerSec}   /    1024);
  24. T_KB_PerSec=$(expr      ${T_Byte_PerSec}   /  1024);

  25. R_Byte_30Sec=$(expr     $STRX  -   $R_30);
  26. T_Byte_30Sec=$(expr     $STTX  -   $T_30);
  27. R_KB_30Sec=$(expr       ${R_Byte_30Sec}   /    1024);
  28. T_KB_30Sec=$(expr       ${T_Byte_30Sec}   /  1024);
  29. R_30PJ=$(expr       ${R_KB_30Sec}   /    30);
  30. T_30PJ=$(expr       ${T_KB_30Sec}   /    30);
  31. echo 实时速率:上行${T_KB_PerSec}KB,下行${R_KB_PerSec}KB
  32. echo 30s 流量:上行${T_30PJ}KB,下行${R_30PJ}KB
  33. echo 平均速率:上行,下行
  34. done
复制代码

论坛徽章:
0
37 [报告]
发表于 2013-08-09 14:49 |只看该作者
回复 36# rdcwayx


    你好版主,我有个疑问这几天都解决不了,想请教一下怎么处理这段?
  1. #!/usr/bin/env bash

  2. :tsgb
  3. time=1
  4. rxman=0
  5. txman=0
  6. R_KB_PerSec=0
  7. T_KB_PerSec=0
  8. while true;
  9. do
  10. R_1=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取1秒前值
  11. T_1=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取1秒前值
  12. R_C_1=${R_KB_PerSec};   #提取1秒前值
  13. T_C_1=${T_KB_PerSec};
  14. sleep 1;
  15. STRX=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取当前值
  16. STTX=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取当前值
  17. R_Byte_PerSec=$(expr    $STRX  -   $R_1);
  18. T_Byte_PerSec=$(expr    $STTX  -   $T_1);
  19. R_KB_PerSec=$(expr      ${R_Byte_PerSec}  / 1024);
  20. T_KB_PerSec=$(expr      ${T_Byte_PerSec}  / 1024);
  21. STRRX=${R_KB_PerSec};   #提取当前值
  22. STRTX=${T_KB_PerSec};
  23. rxman=$(expr $rxman + $STRRX)   #无限增大值来平均
  24. txman=$(expr $txman + $STRTX)
  25. pjjrx=$(expr   $rxman   +   $R_C_1);   #增加下一秒的值
  26. pjjtx=$(expr   $txman   +   $T_C_1);
  27. pjrx=$(expr   $pjjrx   /   $time);   #得到平均值
  28. pjtx=$(expr   $pjjtx   /   $time);
  29. echo 实时流量:上传${T_KB_PerSec}KB/S,下载${R_KB_PerSec}KB/S
  30. echo ${time}s 流量:上传${pjjtx}KB/S,下载${pjjrx}KB/S
  31. echo 平均流量:上传${pjtx}KB/S,下载${pjrx}KB/S
  32. if [ $time -ge '30' ] ; then time=0 && rxman=0 && txman=0 ;fi
  33. time=$(expr    $time  +   1);    #每滚动1秒需要增大一个值来平均
  34. if [ $pjrx -ge '1000' ] ;then
  35. tsma=提速开始 ; goto tssleep ;
  36. else tsma=未提速 ; fi
  37. echo 状态:$tsma
  38. done   #这里结束后跳到下一段


  39. :tssleep   #因为一开始提速之后开始1秒也算是一分钟,只有300分钟不要浪费
  40. time=1
  41. rxman=0
  42. txman=0
  43. R_KB_PerSec=0
  44. T_KB_PerSec=0
  45. min=00
  46. max=58
  47. while [ $min -le $max ]
  48. do
  49. R_1=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取1秒前值
  50. T_1=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取1秒前值
  51. R_C_1=${R_KB_PerSec};   #提取1秒前值
  52. T_C_1=${T_KB_PerSec};
  53. sleep 1;
  54. STRX=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取当前值
  55. STTX=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取当前值
  56. R_Byte_PerSec=$(expr    $STRX  -   $R_1);
  57. T_Byte_PerSec=$(expr    $STTX  -   $T_1);
  58. R_KB_PerSec=$(expr      ${R_Byte_PerSec}  / 1024);
  59. T_KB_PerSec=$(expr      ${T_Byte_PerSec}  / 1024);
  60. STRRX=${R_KB_PerSec};   #提取当前值
  61. STRTX=${T_KB_PerSec};
  62. rxman=$(expr $rxman + $STRRX)   #无限增大值来平均
  63. txman=$(expr $txman + $STRTX)
  64. pjjrx=$(expr   $rxman   +   $R_C_1);   #增加下一秒的值
  65. pjjtx=$(expr   $txman   +   $T_C_1);
  66. pjrx=$(expr   $pjjrx   /   $time);   #得到平均值
  67. pjtx=$(expr   $pjjtx   /   $time);
  68. echo 实时流量:上传${T_KB_PerSec}KB/S,下载${R_KB_PerSec}KB/S
  69. echo ${time}s 流量:上传${pjjtx}KB/S,下载${pjjrx}KB/S
  70. echo 平均流量:上传${pjtx}KB/S,下载${pjrx}KB/S
  71. if [ $time -ge '60' ] ; then time=0 && rxman=0 && txman=0 ;fi
  72. time=$(expr    $time  +   1);
  73. min=$(`expr $min + 1`)
  74. done
  75. goto tsks  #这里结束后跳到下一段

  76. tsks:
  77. time=1
  78. rxman=0
  79. txman=0
  80. R_KB_PerSec=0
  81. T_KB_PerSec=0
  82. while true;
  83. do
  84. R_1=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取1秒前值
  85. T_1=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取1秒前值
  86. R_C_1=${R_KB_PerSec};   #提取1秒前值
  87. T_C_1=${T_KB_PerSec};
  88. sleep 1;
  89. STRX=`cat /sys/class/net/pppoe-wan/statistics/rx_bytes`;   #提取当前值
  90. STTX=`cat /sys/class/net/pppoe-wan/statistics/tx_bytes`;   #提取当前值
  91. R_Byte_PerSec=$(expr    $STRX  -   $R_1);
  92. T_Byte_PerSec=$(expr    $STTX  -   $T_1);
  93. R_KB_PerSec=$(expr      ${R_Byte_PerSec}  / 1024);
  94. T_KB_PerSec=$(expr      ${T_Byte_PerSec}  / 1024);
  95. STRRX=${R_KB_PerSec};   #提取当前值
  96. STRTX=${T_KB_PerSec};
  97. rxman=$(expr $rxman + $STRRX)   #无限增大值来平均
  98. txman=$(expr $txman + $STRTX)
  99. pjjrx=$(expr   $rxman   +   $R_C_1);   #增加下一秒的值
  100. pjjtx=$(expr   $txman   +   $T_C_1);
  101. pjrx=$(expr   $pjjrx   /   $time);   #得到平均值
  102. pjtx=$(expr   $pjjtx   /   $time);
  103. echo 实时流量:上传${T_KB_PerSec}KB/S,下载${R_KB_PerSec}KB/S
  104. echo ${time}s 流量:上传${pjjtx}KB/S,下载${pjjrx}KB/S
  105. echo 平均流量:上传${pjtx}KB/S,下载${pjrx}KB/S
  106. if [ $time -ge '60' ] ; then time=0 && rxman=0 && txman=0 ;fi
  107. time=$(expr    $time  +   1);    #每滚动1秒需要增大一个值来平均
  108. if [ $pjrx -le '1000' ] ;then tsma=未提速 ; goto tsgb ; else tsma=提速中 ; fi
  109. echo 状态:$tsma
  110. done  #这里结束后跳回第一段

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP