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()