免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
11 [报告]
发表于 2013-08-06 10:05 |只看该作者
rdcwayx 发表于 2013-08-05 15:30
echo `date +%s` `/sys/class/net/$1/statistics/rx_bytes ` `/sys/class/net/$1/statistics/tx_bytes ` >>/root/record

这句在路由器里执行的结果是
  1. root@OpenWrt:~# echo `date +%s` `/sys/class/net/$1/statistics/rx_bytes ` `/sys/class/net/$1/statistics/tx_bytes ` >>/root/record
  2. -ash: /sys/class/net//statistics/rx_bytes: not found
  3. -ash: /sys/class/net//statistics/tx_bytes: not found
复制代码
所以我才发帖用变量来输出的

论坛徽章:
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
12 [报告]
发表于 2013-08-06 10:13 |只看该作者
qingyuan0o0 发表于 2013-08-06 12:02
回复 9# rdcwayx
root@OpenWrt:~# epoch
-ash: epoch: not found


没有 epoch 这个命令, 用 "date +%s" 就可以得到epoch time.

论坛徽章:
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
13 [报告]
发表于 2013-08-06 10:18 |只看该作者
qingyuan0o0 发表于 2013-08-06 12:05
这句在路由器里执行的结果是所以我才发帖用变量来输出的

你的$1 有没有定义过啊, 看错误日志是应该$1 没有内容啊。
  1. echo $1
复制代码
如果有值, 那么改成这样试一下:

  1. echo `date +%s` `/sys/class/net/\$1/statistics/rx_bytes ` `/sys/class/net/\$1/statistics/tx_bytes ` >>/root/record
复制代码

论坛徽章:
0
14 [报告]
发表于 2013-08-06 10:22 |只看该作者
回复 9# rdcwayx


    突然有个想法,想请教一下可行不可行
1、在网速生成文件时在/root/record生成1s、2s、3s、4s、5s、6s、7s、、、、、30s共30个数据文件
内容为$1为time=生成1s的时间$2为RX=下载这一秒的值(计算后的值,是以字节为单位)$3为TX=上传的值(到时候备用)
2、网速生成文件在生成到30个文件后第31个文件又从1s开始轮循生成
3、检测文件这时统计1s到30s这30个文件的值平均一下就得出结果了,但是具体写法不知道能不能实现,还有更简单的方法吗?

论坛徽章:
0
15 [报告]
发表于 2013-08-06 10:24 |只看该作者
回复 13# rdcwayx
  1. root@OpenWrt:~# echo `date +%s` `/sys/class/net/pppoe-wan/statistics/rx_bytes `
  2. `/sys/class/net/pppoe-wan/statistics/tx_bytes ` >>/root/record
  3. -ash: /sys/class/net/pppoe-wan/statistics/rx_bytes: Permission denied
  4. -ash: /sys/class/net/pppoe-wan/statistics/tx_bytes: Permission denied
复制代码

论坛徽章:
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
16 [报告]
发表于 2013-08-06 10:28 |只看该作者
方法其实已经给你了。

1. 得到网速记录文件(record) , 这个你已经知道如何做了。
2. 调试一下下面的脚本:
  1. CURR=`date +%s`
  2. ((T30=$CURR-30))     # 计算得到30秒前的epoch
  3. awk -v curr=$CURR -v t30=$T30 '{if ($1>=t30&&$1<=curr) sum+=$2}END{if (sum>9500) print "进行网络提速操作"}' /root/record
复制代码

论坛徽章:
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
17 [报告]
发表于 2013-08-06 10:31 |只看该作者
回复 15# qingyuan0o0
  1. echo `date +%s` `cat /sys/class/net/\$1/statistics/rx_bytes ` `cat /sys/class/net/\$1/statistics/tx_bytes ` >>/root/record
复制代码

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
18 [报告]
发表于 2013-08-06 11:12 |只看该作者
高级货,学习学习。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
19 [报告]
发表于 2013-08-06 11:15 |只看该作者
回复 10# qingyuan0o0


Epoch是这样用的:
http://bbs.chinaunix.net/thread-1772999-1-1.html

论坛徽章:
0
20 [报告]
发表于 2013-08-06 11:17 |只看该作者
回复 16# rdcwayx


    我发现一个问题,如果是这样,这个文件会无限增大,我做了一个脚本,你看这样行不行
  1. #!/usr/bin/env bash

  2. mkdir -p /root/record
  3. CURR=`date +%s`
  4. while true;
  5. do
  6. 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`
  7. sleep 1;
  8. #定义提速时间
  9. done
复制代码
这样会在record目录下生成00到59共60个文件
每个文件的内容大概都是
1375758960 1552581074 2577044059
这样的内容,因为过了1分钟,所有的内容都会被重新的覆盖
那我要用什么方法方便提取信息呢?这样会不会方便计算一点?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP