本地主机环境:CentOS 7,Python 3.5.1,Fabric3(1.11.1.post1)
远程主机环境:CentOS 7
fibfile:
def fuc():
reboot()
bash:
fab -f fibfile.py -H host -u root -p password
远程主机确实重启但返回了fatalError:
sudo() received nonzero return code -1 while executing 'reboot'!
现在我使用warn_only
来防止失败:
fabfile:
def test():
with settings(warn_only=True):
reboot()
答案 0 :(得分:4)
使用ansible时发现了类似的问题:link
我认为最佳答案是正确的:
reboot
正在关闭服务器,以至于服务器正在拆除SSH连接。
shutdown -r now
返回相同的致命错误:
sudo()在执行'shutdown -r now'时收到非零返回码-1!
shutdown -r +1
返回成功:
out:关闭计划于2016-05-23 14:16:48 UTC,请使用'shutdown -c'取消。
但关机只能延迟至少一分钟。 所以我们只能选择等待一分钟或忽略错误。
答案 1 :(得分:4)
我开始遇到一些新虚拟机的问题。正如Jon Stark所说,我认为他们确实关闭得太快了。
要修复它,我会忽略错误和警告,就像这样。
with settings(hide('warnings'),
warn_only=True,
):
sudo("shutdown -r now")
答案 2 :(得分:1)
您可以将shell会话放入后台休眠1秒钟然后执行reboot
命令。由于nohup issue,必须在不使用nohup
命令的情况下完成。我使用tmux
...
reboot(command='tmux new-session -d "sleep 1; reboot;"')