import paramiko def main(): # 创建SSH对象 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='192.168.111.138', port=22, username='xumingyang', password='185102') # 执行命令获取keepalived状态 stdin, stdout, stderr = ssh.exec_command('systemctl status keepalived.service') # 获取命令输出 keepalived_state = stdout.read().decode('utf-8') # print(keepalived_state) # 执行命令获取ip状态 stdin1, stdout1, stderr1 = ssh.exec_command('ip a') # 获取命令输出 ip_a = stdout1.read().decode('utf-8') print(ip_a) # 关闭连接 ssh.close() ssh.connect(hostname='192.168.111.132', port=22, username='xumingyang', password='252237') # 执行命令获取keepalived状态 stdin2, stdout2, stderr2 = ssh.exec_command('systemctl status keepalived.service') # 获取命令输出 keepalived_state1 = stdout2.read().decode('utf-8') # print(keepalived_state1) # 执行命令获取ip状态 stdin3, stdout3, stderr3 = ssh.exec_command('ip a') # 获取命令输出 ip_a1 = stdout3.read().decode('utf-8') print(ip_a1) # 关闭连接 ssh.close() virtual_ip = '192.168.111.139' if virtual_ip in ip_a: message='192.168.111.138 is Master' else: message='192.168.111.138 is Backup' if virtual_ip not in ip_a1: message2='192.168.111.132 is Backup' else: message2='192.168.111.132 is Master' return message+' '+message2 if __name__ == '__main__': main()