当前位置: 首页 > 编程笔记 >

Python的批量远程管理和部署工具Fabric用法实例

黄景胜
2023-03-14
本文向大家介绍Python的批量远程管理和部署工具Fabric用法实例,包括了Python的批量远程管理和部署工具Fabric用法实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Python的批量远程管理和部署工具Fabric用法。分享给大家供大家参考。具体如下:

Fabric是Python中一个非常强大的批量远程管理和部署工具,常用于在多个远程PC上批量执行SSH任务.

常见的使用方法大概总结如下:

1. 首先,要将批量执行的任务写入到一个fabfile.py中,

# -*- coding:utf-8 -*-  

  

from fabric.api import run, local, roles, env, cd  

env.hosts=[  

    '192.168.1.110',  

    '192.168.1.111',  

    '192.168.1.112'  

]  

env.user="username"  

env.password="password"  

env.port=22  

#env.parallel=True  

#env.skip_bad_hosts=True  

#env.timeout=1  

#env.warn_only=True  

  

# local用于在本地PC执行命令.  

# run用于在远程PC执行命令.  

def ls():  

    with cd('/home/workspace/project'):  

        local('touch 1.log')  

    with cd('/home/workspace/project2'):  

        local('touch 2.log')   

  

#@parallel, 可以设置是否并行执行  

#@serial  

def pull():  

    with cd('/home/workspace/project'):  

        run('git pull')  

  

def clean():  

    with cd('/home/workspace/project'):  

        run('bash clean.sh')  

 

@hosts('192.168.1.113')  

def robot(device):  

    with cd('/home/workspace/project'):  

        run('bash run.sh %s robot && sleep 1' % device)

以上就是一个简单的fabfile.py, 其中定义的函数均对应一个fab中的可执行命令.
其中有两个小的注意事项:

A.在远程机器的run.sh中如果要执行一些非系统常见的工具,最好指定为绝对路径. 且可以适当地使用nohup的方式.

B.执行其他脚本或者命令后最好加上sleep,以防止Fabric过早地关闭与远程PC连接的session,而导致执行任务失败.

2. 执行过程: fabric执行会默认选取当前目录下的fabfile.py文件,

fab clean

fab pull

fab robot:hosts="192.168.1.115",device=5560

可以通过hosts参数给fabric传入指定的远程PC, 该hosts参数的优先级比env.hosts的要高.

也可以给fab中的命令传递参数,如device.

此外,还可以通过fab -f otherFabFile.py clean来指定其他的fabric文件.

如果需要并行执行的话,也可以传递参数如fab -P -z 15 pull, 15表示并行执行的PC数量.

以上,只是一些简单的用法,如果需要更高级的用法,可以关注该项目的github主页 https://github.com/fabric/fabric.

希望本文所述对大家的Python程序设计有所帮助。

 类似资料:
  • 主要内容:PuTTY远程管理工具,SecureCRT远程管理工具通过《 Linux远程管理协议》一节可以知道,Linux远程管理服务器多基于 SSH 协议。本节给大家介绍 2 种常见的基于 SSH 协议的远程管理工具,分别是 PuTTY 和 SecureCRT。 在使用远程管理工具之前,应先设置宿主机 Windows 与虚拟机 Linux 能够连通。这里要注意 VMware 的网卡设置,Linux 中更改网络设置可以使用 ifconfig 和 setup 命令

  • 注意:我已经看过Blockchain explorer,但它显然是一个只读工具。 非常感谢。

  • Fabric 是一个 Python 下类似于 Makefiles 的工具,但是能够在远程服务器上 执行命令。如果您有一个良好配置过的 Python 软件包 (大型应用) 且 对“配置”概念的理解良好,那么在外部服务器上部署 Flask 应用将会非常容易。 开始之前,请先检查如下列表中的事项是否都已经满足了: 在本地已经安装了 Fabric 1.0 。即这个教程完成时, Fabric 的最新版本。

  • 是否有人在远程Tomcat服务器中成功部署了Ktor项目? 我正在做一个项目,当我在本地部署中尝试测试时,一切都很好,但当我尝试生成。war和部署在我的远程tomcat服务器上,当我尝试访问servlet时,总是得到404。 部署似乎还可以,一切正常,但我无法与servlet通信。 我读过很多指南,但是所有的人都在当地尝试。 当做

  • 目前系统支持对员工进行以下批量管理操作: 批量导入 •详情请见【管理员如何导入员工】 批量删除 在员工主页面点击某一员工右侧“详情”按钮,即可查看该名员工详情信息。您可单独为其设置离职日期或进行删除。填写规则如下:•点击员工页面“批量删除”按钮,输入多个欲删除员工号码 批量导出 •点击员工页面“批量导出”按钮,选择欲导出部门 批量设置管理用车制度 •点击员工页面“批量设置制度”按钮,输入员工号码并