python操作多臺服務器

"""主代碼 "" import settings import paramiko import threading class wang(object): def __init__(self, host, port, username, password, cmd): self.host = host self.port = port self.username = username self.password = password self.cmd = cmd def commad(self): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=self.host, port=self.port, username=self.username, password=self.password) stdin, stdout, stderr = ssh.exec_command(self.cmd) res, err = stdout.read(), stderr.read() result = res if res else err print(result.decode()) ssh.close() def show_group(): for index, key in enumerate(settings.msg_dic): print(index +1 , key, len(settings.msg_dic[key])) host_ip = input(">>(eg:group1)").strip() host_ip_drt = settings.msg_dic[host_ip] print(host_ip_drt) for i in host_ip_drt: print(i, host_ip_drt[i]["IP"]) return host_ip_drt def run(): setsit = show_group() thread_list = [] print(setsit) while True: cmd = input(">>(cmd)").strip() for i in setsit: cc = wang(setsit[i]["IP"], setsit[i]["port"], setsit[i]["username"], setsit[i]["password"], cmd) #cc.commad() t = threading.Thread(target=cc.commad) t.start() thread_list.append(t) print("-"*50) for t in thread_list: t.join() print("-" * 50) run() #settings 模塊 msg_dic = { "group1":{ "h1" :{"IP": "192.168.3.200", "username": "root", "password": "sadmin", "port": "22"}, "h2" :{"IP": "192.168.3.201", "username": "root", "password": "sadmin", "port": "22"} } "group2":{ "h1" :{"IP": "192.168.3.203", "username": "root", "password": "sadmin", "port": "22"}, "h2" :{"IP": "192.168.3.204", "username": "root", "password": "sadmin", "port": "22"} } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章