批量ping服务器IP脚本(Python)

做IT服务的同学都知道,有时候我们有些的小需求,比如测试某个服务器端口是否连通,测试某台服务器是否正常启动。这种需求一个两个还好,人工即可完成。但是当面临几百个上千个的服务器时就有点力不从心了。美时美刻都要变成痛苦每一刻了。。。

 

最近恰好我也遇到这么个差事,正好之前学习了些Python的基础知识,于是花了一个小时写了这个批量ping服务器IP脚本。使用起来可以说是简单,好用,心里美滋滋~

 

我用的服务器是redhat,可以直接使用已有的Python环境。以下所有文件都在同一目录下即可。

1、创建ip.txt文件,将IP或服务器主机名地址保存在文件中。格式如下:

2、创建ip_status.py脚本文件,ping上述ip或服务器主机名地址,将结果显示在屏幕上并且保存到check.txt。

3、使用chmod 777 ip_status.py将脚本改为可执行模式,使用./ip_status.py 运行脚本,效果如下:

脚本代码如下:

#!/usr/bin/python
import os
import commands
import string

#读取IP或服务器主机名列表

f = open(r”./ip.txt”,’r’)
iplist = f.readlines()
#print iplist
f.close()

print ‘===Start to ping===’

f = open(r”./check.txt”,’wb+’)

 

#生成ping命令并开始ping主机

for ip in iplist:
         command = ‘ping -c 1 ‘ + ip.strip(‘\n’)
         ping_status = commands.getoutput(command + r” |awk ‘/transmitted/ {print $4}'”)  #获取ping输出的最后一行,获取received状态

if(ping_status != ‘0’):
     str1 = ip.strip(‘\n’) + ‘ is ok!\n’
else:
     str1 = ip.strip(‘\n’) + ‘ is unreachable!\n’

print str1
f.write(str1)  #保存

f.close()

以上。

最美时刻,版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://www.msmk.me/multiple-ping-hosts-script-by-python/

相关文章

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注