ping服务器(分享一个实用脚本)

概述今天主要分享一个多进程检测ping的脚本,并取值,这里默认开启4个进程,需要将hosts.txt IP列表文件放入同一目录下,IP列表每行一个,支持域名、IP,下面一起来看看吧~实用脚本脚本内容:#!/usr/bin/python
#coding:utf-8
import multiprocessing
import re
import sys,os
import commands
import datetime
def pinger(ip):
cmd=’ping -c 2 %s’ % (ip.strip())
ret = commands.getoutput(cmd)
loss_re=re.compile(r”received, (.*) packet loss”)
packet_loss=loss_re.findall(ret)[0]
rtt_re=re.compile(r”rtt min/avg/max/mdev = (.*) “)
rtts=rtt_re.findall(ret)
#rtt.split([“/”])
rtt=rtts[0].split(‘/’)
rtt_min=rtt[0]
rtt_avg=rtt[1]
rtt_max=rtt[2]
print “%s\t\t%s\t\t%s\t\t%s\t\t%s”%(ip,packet_loss,rtt_min,rtt_max,rtt_avg)



if __name__ == “__main__”:
if not os.path.exists(“hosts.txt”) :
print “\033[31mhosts.txt文件不存在,请重试\033[0m”
sys.exit(1)
now=datetime.datetime.now()
file=open(‘hosts.txt’,’r’)
pool=multiprocessing.Pool(processes=4)
result=[]
print “########%s###########”%now
print “IPADDRSS\t\t\tLOSS\t\tMIN\t\tMAX\t\tAVG”
for i in file.readlines():
if len(i)==1 or i.startswith(“#”):
continue
result.append(pool.apply_async(pinger,(i.strip(),)))
pool.close()
pool.join()

执行结果:觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/26866.html