如何捕获 Fabric 中的身份验证错误并重试?

发布于 2024-10-28 08:48:23 字数 135 浏览 1 评论 0原文

我有两个用户名和相应的密码用于管理我的服务器,有没有办法让我的 fab 脚本/模块使用一个,如果第一个失败则使用第二个,而不必维护完整的凭据列表每个主机甚至一组主机。

我在文档中看不出有什么办法可以尝试/除了 run() 或类似的操作...

I have two usernames and corresponding passwords that I use to admin my servers, is there a way to have my fab scripts/modules, use one and then the second if the first one failed, with out having to maintain a full list of credentials for each host or even group of them.

I see no way in the docs to doa try/except around run() or similar...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神爱温柔 2024-11-04 08:48:23

run 和其他命令引发 SystemExit

from fabric.api import run,cd,put,sudo,settings

def do_stuff():
    run('ls derp')

try:
    with(settings(host_string='%s@localhost' % first_user,password = first_password)):
        do_stuff()
except SystemExit:
    with(settings(host_string='%s@localhost' % second_user,password = second_password)):
        do_stuff()

run and other commands raise SystemExit

from fabric.api import run,cd,put,sudo,settings

def do_stuff():
    run('ls derp')

try:
    with(settings(host_string='%s@localhost' % first_user,password = first_password)):
        do_stuff()
except SystemExit:
    with(settings(host_string='%s@localhost' % second_user,password = second_password)):
        do_stuff()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文