Chinaunix

标题: ping值保存加上时间的问题。 [打印本页]

作者: luxinjun888    时间: 2012-05-22 10:37
标题: ping值保存加上时间的问题。
本帖最后由 luxinjun888 于 2012-05-22 10:57 编辑

大家好,我现在在写一个小脚本,想轮询ping一个地方的机器,吧ping值记录下来,这个ping值记录的时候希望加上时间和IP,以验证外地一个机房服务不稳定是否和网络波动有关:
#!/bin/bash
i=`cat /home/bd`
DAT="`date +%Y%m%d-%H:%M:%S`"
for IP in $i
do
ping $i >> /home/ping.txt
done
请问我怎么将时间和IP地址时记录到ping值得前面呢 如:

ping 12.130.132.30
结果是64 bytes from 12.130.132.30: icmp_seq=0 ttl=241 time=233 ms,但保存到文件内容是:

20120522:10:25:08  12.130.132.30     64 bytes from 12.130.132.30: icmp_seq=0 ttl=241 time=233 ms
作者: chenyx    时间: 2012-05-22 10:53
本帖最后由 chenyx 于 2012-05-22 10:53 编辑

试试在done后面添加一行
  1. sed -i -e '1d' -e "s/^/$DAT $i /g" ping.txt
复制代码

作者: luxinjun888    时间: 2012-05-22 10:59
刚才没说清楚,这个ping是不间断轮询ping的,将ping值加上时间和IP地址保存,以备出现问题后查看是否在同一时间网络出现波动。
作者: chenyx    时间: 2012-05-22 11:02
那样不好实现,你在ping之前添加一行,
  1. echo $DAT >> ping.txt
复制代码
这样,能变相的把时间戳放到ping前面.
作者: chenyx    时间: 2012-05-22 11:07
或者,你修改下ping $i >> /home/ping.txt行
改成abc=`ping -c 1 $i`
然后echo $DAT $abc >> ping.txt
这样,可以部分实现你的意图.
作者: luxinjun888    时间: 2012-05-22 14:19
本帖最后由 luxinjun888 于 2012-05-22 14:54 编辑
chenyx 发表于 2012-05-22 11:07
或者,你修改下ping $i >> /home/ping.txt行
改成abc=`ping -c 1 $i`
然后echo $DAT $abc >> ping.txt


----------------------------------------------------------------------
非常感谢chenyx,在你的帮助下改成这样了,差不多已经满足他们要求了,呵呵

#!/bin/bash
i=`cat /home/baoding`
while [ 1 ]
do
DAT="`date +%Y%m%d-%H:%M:%S`"
cat baoding | while read i
do
echo $i
abc=`ping -c 1 $i`
echo $DAT $abc >> ping.txt
done
done

20120424-09:04:06 PING 111.111.111.111 (111.111.111.111) 56(84) bytes of data. 64 bytes from 111.111.111.111: icmp_seq=1 ttl=50 time=55.9 ms --- 121.18.231.3 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 55.978/55.978/55.978/0.000 ms
20120424-09:04:06 PING 222.222.222.222 (222.222.222.222) 56(84) bytes of data. 64 bytes from 222.222.222.222: icmp_seq=1 ttl=50 time=53.1 ms --- 121.18.231.4 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 53.119/53.119/53.119/0.000 ms
20120424-09:04:06 PING 333.333.333.333 (333.333.333.333) 56(84) bytes of data. 64 bytes from 333.333.333.333: icmp_seq=1 ttl=50 time=63.1 ms --- 121.18.231.2 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 63.177/63.177/63.177/0.000 ms





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2