码迷,mamicode.com
首页 > 其他好文 > 详细

数以千计的服务器存活状态检查

时间:2019-12-03 10:21:09      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:sys   name   out   plist   strftime   sel   stat   list   one   

# !/usr/bin/python # -*- coding: UTF-8 -*- import commands import sys import time class server_unreache(object): def __init__(self, ip_list): self.ip_list = ip_list #第一次获取无法ping通的服务器列表 def unreachable_ip_list(self): global unreachable_iplist_one_time unreachable_iplist_one_time=[] get_un_iplist_str = "/sbin/fping -u -f {}".format(ip_list) (status, get_un_iplist) = commands.getstatusoutput(get_un_iplist_str) for unreach in get_un_iplist.split(‘\n‘): unreachable_iplist_one_time.append(unreach) #return unreachable_iplist_one_time pass # 对第一次获取无法ping通的服务器列表,在进行3次ping操作,每次操作时间间隔为10秒 def do_3times_fping_unreachable(self): global unreache_3times unreache_3times=[] for j in range(3): for i in range(len(unreachable_iplist_one_time)): get_3times_un_iplist_str = "/sbin/fping -u {}".format(unreachable_iplist_one_time[i]) time.sleep(10) (status, get_3times_un_iplist) = commands.getstatusoutput(get_3times_un_iplist_str) print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) if status != 0 and get_3times_un_iplist not in unreache_3times: unreache_3times.append(get_3times_un_iplist) print("{} times,unreache_3times {}".format(j+1,unreache_3times[i])) print(unreache_3times) pass def do_reboot(self,count=0): global do_reboot_cmd do_reboot_cmd="ipmitool -I lanplus -H {} -U UserNmae -P PassWord chassis power status" for i in range(len(unreache_3times)): count = count + 1 #print(count) if count <= 2: print("do_reboot_ip:{},\n do_reboot_cmd:{}".format(unreache_3times[i],do_reboot_cmd.format(unreache_3times[i].replace(‘172.‘,‘10.‘)))) #print("do_reboot_ip", unreache_3times[i]) if __name__ == ‘__main__‘: ip_list = sys.argv[1] ds=server_unreache(ip_list) ds.unreachable_ip_list() ds.do_3times_fping_unreachable() ds.do_reboot()

数以千计的服务器存活状态检查

标签:sys   name   out   plist   strftime   sel   stat   list   one   

原文地址:https://blog.51cto.com/880314/2455444

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!