Python多线程批量管理服务器脚本 。小编来告诉你更多相关信息 。
Python多线程批量管理服务器脚本版本BMC管理脚本二import osimport timeimport subprocessfrom queue import Queuefrom threading import Threadclass IPMI_Manager:def __init__(self):self.ipaddress_queue = Queue()self.IPMI_tool_queue = Queue()def IP_list(self):with open(\"ip_list.txt\", \"r\", encoding=\"utf-8\") as f:ip_address = f.readlines()self.ipaddress_queue.put(ip_address)def IPMI(self, choose_id, user, pwd):ipaddress_list = self.ipaddress_queue.get()for ipaddress in ipaddress_list:command = f\"ipmitool -I lanplus -H {ipaddress.strip()} -U {user} -P {pwd}\"if choose_id == 1:command += \" power status\"elif choose_id == 2:command += \" power on\"elif choose_id == 3:command += \" power off\"elif choose_id == 4:command += \" power reset\"elif choose_id == 5:command += \" chassis bootdev pxe\"elif choose_id == 6:command += \" chassis bootdev bios\"elif choose_id == 7:command += \" chassis bootdev cdrom\"elif choose_id == 8:command += \" chassis bootdev disk\"elif choose_id == 9:command += \" mc reset cold\"elif choose_id == 10:command += \" mc reset warm\"elif choose_id == 11:command += \" power off && sleep 5 && ipmitool -I lanplus -H {ipaddress.strip()} -U {user} -P {pwd} power on\"process = subprocess.run(command, shell=True)self.IPMI_tool_queue.put(process)self.ipaddress_queue.task_done()def IPMI_run(self):print(\"***************************************\")print(\"1. 查看电源状态\")print(\"2. 开机\")print(\"3. 关机\")print(\"4. 重启\")print(\"5. PXE启动\")print(\"6. BIOS启动\")print(\"7. 从CD/DVD启动\")print(\"8. 从硬盘启动\")print(\"9. 冷重启BMC\")print(\"10. 热重启BMC\")print(\"11. 冷重启系统\")print(\"***************************************\")choose_id = int(input(\"请选择需要执行指令ID: \"))username = input(\"请输入BMC用户名: \")password = input(\"请输入BMC密码: \")IMPI_list = []IPMI_ip = Thread(target=self.IP_list)IMPI_list.append(IPMI_ip)for _ in range(4):IPMI_tools = Thread(target=self.IPMI, args=(choose_id, username, password))IMPI_list.append(IPMI_tools)for t in IMPI_list:print(t)t.setDaemon(True)t.start()for q in [self.IPMI_tool_queue, self.ipaddress_queue]:q.join()if __name__ == \'__main__\':IPMI = IPMI_Manager()IPMI.IPMI_run()
运行界面:
文章插图
【Python多线程批量管理服务器脚本】以上是网关于Python多线程批量管理服务器脚本的具体介绍,供网友们借鉴参考 。
- Win10虚拟内存的设置条件 虚拟内存设置多少合适
- honor10参数配置详解 华为荣耀10价格多少钱
- 魂环有多少种颜色 1亿年魂环是什么颜色
- 美国务卿布林肯到访土耳其 土总统埃尔多安避而不见
- 机械硬盘读取速度是多少 电脑机械硬盘的的参数
- 春卷皮有什么配方?
- 番茄蛋花汤的做法步骤
- 炸章鱼丸子
- 鄂尔多斯特色美食
- 汕头有名小吃是什么