python结构模块usag

2024-04-26 00:30:25 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试为一个python脚本使用fabric模块,该脚本与远程计算机通信以运行各种命令。我计划使用fabric作为一个模块,通过ssh建立和运行命令。使用fabric作为常规python模块from fabric import Connection并像python script.py一样直接运行脚本,这是一个好的实践吗

我已经测试过了,效果很好。在

谢谢


Tags: 模块frompyimport命令脚本远程计算机
1条回答
网友
1楼 · 发布于 2024-04-26 00:30:25

Fabric2是python2.7+需要使用的。通过从命令行运行pip install fabric2来安装它!在

然后创建一个fabfile.py,并使用以下代码:

@task
def deploy(ctx, env=None):
    try:
        with connection(host=REMOTE_HOST, user=REMOTE_HOST_USERNAME,) as c:
            c.run('whoami')
            c.run('echo "do what you want to do"')
            c.run('mkdir new_dir')
    except AuthenticationException as message:
        print(message)
    except SSHException as message:
        print(message)

转到fabfile.py所在的目录,从命令行执行以下命令:

^{pr2}$

更新

您可以将deploy()函数放入main.py

from fabric import Connection as connection, task
from paramiko import AuthenticationException, SSHException


def deploy():
    try:
        with connection(host='faceai-uat', user='admin.peshmerge') as c:
            c.run('whoami')
            c.run('echo "do what you want to do"')
            c.run('mkdir new_dir')
    except AuthenticationException as message:
        print(message)
    except SSHException as message:
        print(message)

def main():
    print("Start deploying")
    deploy()


if __name__ == "__main__":
    main()

通过python3 main.py从命令行执行文件!在

相关问题 更多 >