如何使用我编写的脚本输出/打印“证明”服务器正在重启?

时间:2019-06-05 18:57:00

标签: python ssh server paramiko

基本上,我编写了一个脚本,该脚本使用python和一个名为paramiko的SSH库重新启动服务器。我的脚本可以正常运行,但是我不知道它是否实际上正在重新引导服务器,因为服务器不在办公室内。有没有一种方法可以打印并输出“证明”,表明服务器实际上正在重新引导?对于使用python通过SSH向网络设备发出命令,我有些陌生。

我确实确实运行了我的代码,并且它按预期运行,但是我还没有进行测试来查看服务器是否确实在打开和关闭。

无需复制和粘贴我的所有代码,但是有两个非常重要的功能:

def connectToSSH(deviceIP, deviceUsername, devicePassword):
    ssh_port = 22
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(deviceIP, ssh_port, deviceUsername, devicePassword)
    time.sleep(5)

    return ssh

def reboot_server(ssh):

    prompt = raw_input('Are you sure you want to reboot this server ?')

    if prompt.lower() == 'y' or prompt.lower() == 'n':
        print('Proceeding to reboot the switch\n')
    else:
        print('Proceeding to exit the program\n')
        sys.exit(-1)

    channel = ssh.invoke_shell()

    ssh.exec_command("/sbin/reboot -f > /dev/null 2>&1 &")  # executes command to reboot server , is this the right command ? I found this on another stackOverflow post ?

    channel.close()

    print("Please wait for server to be rebooted")


我没有收到任何编译错误,但是我想确保该命令:


ssh.exec_command("/sbin/reboot -f > /dev/null 2>&1 &")

实际上是在重新引导服务器。如果是的话,有什么办法可以打印/输出重新启动的证明?如果是这样,我该怎么做?

0 个答案:

没有答案