linux ping监控脚本,Shell长ping脚本监控网络状态

linux环境使用ping命令+时间戳记录到文件里面

生产环境中, 网络是否稳定(网络时延)是一个很重要的指标. 为了方便检查网络时延的大小, 我们可以通过ping命令实现长时间的网络监控。

一、ping命令的使用

1、 常用参数

-i: 每次执行ping操作的间隔时间, 默认是1s;

-c: 执行ping操作的次数, 默认是一直执行, 除非被中断;

-s:指定执行ping操作时发送的包的大小, 默认是56B, 添加报文头之后, 最终发送的是64B.

2、 使用示例# 在终端 ping 某个地址, 执行10次

# ping 112.80.248.75 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '

4727048aabc086d3ac68f685418bf6c5.png#后台运行记录到文件里面,但终端不能断开的,语句如下:

nohup ping 112.80.248.75 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>ping1.log &

2.1、日期时间在后面:# ping 112.80.248.75 | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()); fflush()}' >> long_ping.txt

PING 112.80.248.75 (112.80.248.75) 56(84) bytes of data.       2020-04-03 16:59:44

64 bytes from 112.80.248.75: icmp_seq=1 ttl=55 time=3.66 ms     2020-04-03 16:59:44

64 bytes from 112.80.248.75: icmp_seq=2 ttl=55 time=4.90 ms     2020-04-03 16:59:45

64 bytes from 112.80.248.75: icmp_seq=3 ttl=55 time=4.02 ms     2020-04-03 16:59:46

2.2、日期时间在前面:# ping 112.80.248.75 | awk '{ print strftime("%Y.%m.%d %H:%M:%S",systime())"\t" $0; fflush() }' >> long_ping.txt

2020.04.03 17:00:36     PING 112.80.248.75 (112.80.248.75) 56(84) bytes of data.

2020.04.03 17:00:36     64 bytes from 112.80.248.75: icmp_seq=1 ttl=55 time=3.22 ms

2020.04.03 17:00:37     64 bytes from 112.80.248.75: icmp_seq=2 ttl=55 time=3.72 ms

2020.04.03 17:00:38     64 bytes from 112.80.248.75: icmp_seq=3 ttl=55 time=4.91 ms

2020.04.03 17:00:39     64 bytes from 112.80.248.75: icmp_seq=4 ttl=55 time=3.95 ms

注意:使用fflush(),不然文件不会有信息,因为awk也是有缓存的。

下面未加fflush(),执行命令生成文件会等一会才会有信息打印到文件里ping 112.80.248.75 | awk '{ print strftime("%Y.%m.%d %H:%M:%S",systime())"\t" $0 }'>> long_ping.txt &

二、通过脚本记录时间戳

为了方便后期查看, 也防止退出终端时命令被中断, 我们可以通过后台运行命令(脚本)的方式进行操作.

脚本内容如下:# vi long_ping.sh

#!/bin/bash

ping 112.80.248.75 | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()); fflush()}' >> long_ping.txt

注意: 只有当脚本运行结束(或被kill掉), awk命令 才会将结果输出到文件中.

为防止脚本被中断, 可以通过 nohup 令脚本在后台执行:nohup sh long_ping.sh &

要结束后台进程, 可通过下述方式查找并kill:# ps -ef |grep long

root 17341 17236  0 16:46 pts/3 00:00:00 sh long_ping.sh

root 17351 17236  0 16:47 pts/3 00:00:00 grep --color=auto long

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值