分享一个实用脚本--多进程检测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()
​

 

 

 

执行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值