日期:2014-05-16  浏览次数:20719 次

[shell编程] 怎样每隔5秒中,把iftop在屏幕上显示的内容的最后三行保存在日志文件中(不出现乱码)?
问题是这样的:
一台linux服务器,为了监控全天的网络流量,使用iftop来监控。但是它只能在Console上正常显示,如果保存在文件中,则出现很多的乱码(应该是控制颜色及位置的代码)。同时发现屏幕上显示的数据与保存在文件中的数据,并不能一一对应。比如屏幕上显示了13.1K,但是在那个文件中,却找不到13.1这个数字。

iftop的最后三行是:
TX: xxxxxxxxxxxxxxxxxxxxx
RX: xxxxxxxxxxxxxxxxxxxxx
TOTAL: xxxxxxxxxxxxxxxxxxxxx

我现在需要写一个脚本,每5秒钟读取一次最后三行的数据,保存在日志文件中,应该怎么做呢?

------解决方案--------------------
iftop > /tmp/iftop.log
确实能把输出写到log文件,不过因为显示带有表格,有很多控制字符,所以看上去比较乱。你可以直接cat文件即可,不要用vi查看。

------解决方案--------------------
帮你顶
------解决方案--------------------
我使用snmpd + cacti 查看的