公司的生产线上有200多台服务器每天都在高速运行,每天上班之后的第一件事情,就是要检查这200多台机器的服务是否正常,像这种每天需要重复做的事情,我喜欢通过自动化脚本来解决,而Python则为我提供了一种方便而简洁的解决方法!!!
一:收集所有服务器的ip地址和业务端口,并保存在ip-port.txt的文件中
由于涉及到生产的ip地址和端口,这里我就用其它非生产的ip地址做演示,ip地址和端口之间通过":"冒号来隔开

文章插图
私信小编 01 技术问题 视频源码 PDF一切都有!~
二:定义一个函数,先将ip-port.txt文件转成一个列表
def readfile(): ipportlist = [] #定义一个空列表 file = open('ip-port.txt','r',encoding='utf-8') rfile = file.readlines() #读取文件中的内容,得到一个列表,每一行就是一个元素 for n in rfile: n1 = n.replace('n','') #去掉元素中的换行符 ipportlist.Append(n1) return ipportlist
三:定义一个函数,检查业务端口是否正常
def serverport(host,port): #定义一个函数,传入2个变量 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #定义一个socket的ipv4会话 sk.settimeout(2) #定义2秒钟超时 try: sk.connect((host,port)) print('succ:' + host) with open('succ.txt','a',encoding='utf-8') as file: file.write(host + ':' + str(port) + 'n') except: print('fail:' + host) with open('fail.txt','a',encoding='utf-8') as file: file.write(host + ':' + str(port) + 'n')
四:将两个函数结合起来,得到最终的结果
if __name__ == '__main__': #程序入口 for s in readfile(): #获取文件中的每一个ip和端口 s1 = re.split(':',s) #以冒号作为分隔符,将ip和端口分离,得到一个列表 ip = s1[0] port = int(s1[1]) serverport(ip,port) #函数传参,并检测
代码执行完之后,不仅会将结果输出在显示屏上面,还会生成succ.txt和fail.txt两个文件

文章插图
总结:
- 喜欢用自动化运维的思想去处理工作当中的问题
- 学以致用,写代码就是要经常练习
【Python如何解决200台服务器业务端口检测?技术大牛教你实现】
推荐阅读
-
姿态时尚|戴安娜姐姐碎花裙搭衬衫绝了,曾俘获查尔斯,却因穿得太高调被甩
-
「娱乐大家说说」它2.0T+279匹马力,百公里仅需6.2秒!,中型车不一定非要选雅阁
-
-
汽车小哥哥|看了她妹妹的素颜,到底谁才是女爱豆?,以为杨超越够美了
-
苹果手机如何刷机还原,iphone不用电脑刷机教程
-
全国首个认知功能筛查公益活动启动 连锁药店配专业人士和测量表
-
[]五一小长假怎么安排?自驾游游客将超七成,健康游成为关注热点
-
杨幂|《狐妖小红娘》系列女主对比,85花难敌95花,杨幂得靠龚俊逆转
-
坤坤说历史|你曾经是个王者,直到你妈妈来了!,搞笑GIF趣图:哥们
-
【梓盺】,誓死捍卫冠军荣耀,LPL最有希望的一年,五只银河战舰即将起航
-
家乡体育|曝北京重签4冠王高帅富,NBA总冠军林书豪无缘回归?,大反转
-
小懒猫|朱祁镇复位太容易,为何朱祁钰和于谦未能阻,被囚7年突然爆发
-
张豆豆|体操女神张豆豆因挺胸照走红!秀高难度一字马,不进娱乐圈考北体
-
吉尼斯世界纪录|破吉尼斯世界纪录,英国一男子用头顶起46卷厕纸
-
【软件】荣耀30Pro+深度体验一周:不吹不黑,感觉像小P40Pro
-
新华网客户端|| 虎嗅调研Vol.7,疫情“被迫”买车,首选不是电动车
-
-
「ROM乐园TB」小米红米手机新机9008模式怎么进入?小米线刷救砖模式
-
double是什么意思(double男是什么意思)
-
空姐|马斯克被空姐指控性骚扰 本人再回应:完全不真实、有本事说出我胎记