gpt4 book ai didi

python - 如何在 Fabric 2 中等待 shell 脚本重新启动

转载 作者:太空宇宙 更新时间:2023-11-03 20:51:54 25 4
gpt4 key购买 nike

我正在使用 Fabric 2,并且尝试在多个主机上按顺序运行 shell 脚本。在脚本中,它配置一些设置并重新启动该主机。然而,当我运行我的任务时,它会在第一个主机上运行脚本后结束(我猜测是因为 SSH 连接由于重新启动而终止)。我尝试将“warn_only”设置为 True,但我不知道在 Fabric 2 上的何处设置此值。

添加:

with settings(warn_only=True):

抛出“NameError:全局名称'设置'未定义”错误。

warn_only 是否有正确的格式?如果在 Fabric 2 中还不可能,有没有办法继续运行我的任务,无论是否重新启动?

我的脚本:

from fabric import *
import time
import csv

@task
def test(ctx):

hosts = ['1.1.1.1', '2.2.2.2']

for host in hosts:
c = Connection(host=host, user="user", connect_kwargs={"password": "password"})

c.run("./shell_script.sh")

configured = False

while not configured:
result = c.run("cat /etc/hostname")
if result != "default": configured = True
time.sleep(10)

最佳答案

因此,解决方法是使用 -w 标志运行任务,这将启用 warn_only 并为我提供所需的功能。不过,如果能够在代码中设置此属性会更好。

关于python - 如何在 Fabric 2 中等待 shell 脚本重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56264563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com