【发布时间】:2013-09-15 20:55:24
【问题描述】:
我在 arm 架构上运行。 应该是一个 bash 脚本。 我想绘制进出我的 ftp 服务器的总字节数。
我用这个命令解析 ftp.log 文件来得到这个输出:
`cat ftp.log | grep loaded`
有趣的行是这种格式:
Sep 14 18:46:00 sharecenter pure-ftpd: (doc@omega) [NOTICE] /mnt/HD/HD_a2//SAVE/backupffp.sh downloaded (423 bytes, 0.78KB/sec)
Sep 15 22:06:47 sharecenter pure-ftpd: (doc@omega) [NOTICE] /mnt/HD/HD_a2//SAVE/ffp-2013-09-14.tar.bz2 downloaded (904753213 bytes, 1928.17KB/sec)
Sep 15 22:32:26 sharecenter pure-ftpd: (doc@omega) [NOTICE] /mnt/HD/HD_a2//SAVE/test.avi uploaded (576711530 bytes, 1465.80KB/sec)
现在我需要获取 "(" 之后和单词 "bytes" 之前的值并添加它们。
- 示例:
--> 下载423+904753213=904753636 => 返回值:904753636
--> 上传576711530 => 返回值:576711530
现在脚本将每 5 分钟运行一次,因此结果必须仅考虑最后 5 分钟之间的数字。 例子: 在 22:05 脚本运行并添加所有字节。当脚本在 22:10 再次运行时,仅应添加 22:05 到 22:10 之间传输的字节。
对于 rrd,您需要一个简单的输出,2 个变量“dowloaded”和“uploaded”。 所以我需要这 2 个变量中的这 2 个值。
我希望我足够清楚,如果不是,请不要犹豫,询问更多信息。
非常感谢您的帮助。
【问题讨论】: