paramiko+threading批量检查系统状态
- 作者: 弱水三千_只留一瓢
- 来源: 51数据库
- 2022-08-12
#!/usr/bin/env python
#coding:utf-8
import paramiko
import threading
import os,sys,time
def ssh2(ip,pt,pw,us,comm):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,port=pt,username=us,password=pw)
f.write(('='*20 +'%s status' +'='*20 + '\n')% ip)
for COMM in comm:
stdin,stdout,stderr = ssh.exec_command(COMM)
read = stdout.read()
f.write(read)
ssh.close()
# except SyntaxError:
# print "please checking"
# sys.exit()
except:
print "Connection refused"
sys.exit()
if __name__ == '__main__':
print "\033[1;31m 请等待.....\033[0m"
open_ip = open('/home/test/iplist.txt')
f = open('/home/test/Allsystem.log','w')
paramiko.util.log_to_file('/home/test/paramiko.log')
up='uptime'
df = "df -Ph |awk 'NR == 1 || NR == 6{print $0}'"
net="ifconfig |awk 'NR==8'|sed 's/^\s*//g'"
command = [up,df,net]
for ip in open_ip.readlines():
split = ip.split()
name = split[1]
ipaddr = split[2]
password = split[3]
aa = threading.Thread(target=ssh2,args=(ipaddr,22,password,name,command))
aa.start()
aa.join()
open_ip.close()
f.write('='*20 +'All done' +'='*20 + '\n')
f.flush()
f.close()
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
