首页 后端开发 Python教程 Python的批量远程管理和部署工具Fabric用法实例

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

Jun 10, 2016 pm 03:18 PM
fabric python 工具 批量 用法 管理 远程 部署

本文实例讲述了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程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

十大数字货币交易所app推荐 币圈虚拟币交易所排名前十 十大数字货币交易所app推荐 币圈虚拟币交易所排名前十 Apr 22, 2025 pm 03:03 PM

十大数字货币交易所app推荐:1. OKX,2. Binance,3. gate.io,4. Huobi,5. Coinbase,6. KuCoin,7. Kraken,8. Bitfinex,9. Bybit,10. Bitstamp,这些app均提供实时行情、技术分析和价格提醒功能,帮助用户实时监控市场动态并做出明智的投资决策。

meme币交易所排行榜 meme币主流交易所top10盘点 meme币交易所排行榜 meme币主流交易所top10盘点 Apr 22, 2025 am 09:57 AM

最适合交易Meme币的平台包括:1. 币安(Binance),全球最大,流动性高,低手续费;2. 欧意(OKX),高效交易引擎,支持多种Meme币;3. XBIT,去中心化,支持跨链交易;4. 雷迪姆(Solana DEX),低成本,结合Serum订单簿;5. PancakeSwap(BSC DEX),交易费用低,速度快;6. Orca(Solana DEX),用户体验优化;7. Coinbase,安全性高,适合新手;8. 火币(Huobi),亚洲知名,交易对丰富;9. DEXRabbit,智能

十大数字虚拟货币app排行榜 币圈交易数字货币交易所排名前十 十大数字虚拟货币app排行榜 币圈交易数字货币交易所排名前十 Apr 22, 2025 pm 03:00 PM

十大数字虚拟货币app排行榜分别是:1. OKX,2. Binance,3. gate.io,4. Coinbase,5. Kraken,6. Huobi,7. KuCoin,8. Bitfinex,9. Bitstamp,10. Poloniex。这些交易所根据交易量、用户体验和安全性等因素评选,均提供多种数字货币交易服务和高效的交易体验。

靠谱好用的虚拟币交易所app推荐 币圈十大交易所排行榜最新 靠谱好用的虚拟币交易所app推荐 币圈十大交易所排行榜最新 Apr 22, 2025 pm 01:21 PM

靠谱好用的虚拟币交易所app是:1. Binance,2. OKX,3. Gate.io,4. Coinbase,5. Kraken,6. Huobi Global,7. Bitfinex,8. KuCoin,9. Bittrex,10. Poloniex。这些平台因其交易量、用户体验和安全性等因素被评选为最佳,均提供注册、验证、存款、提款和交易操作功能。

2025数字货币交易平台有哪些 十大数字货币app最新排行榜 2025数字货币交易平台有哪些 十大数字货币app最新排行榜 Apr 22, 2025 pm 03:09 PM

十大虚拟币看盘平台app推荐:1. OKX,2. Binance,3. Gate.io,4. Huobi,5. Coinbase,6. Kraken,7. Bitfinex,8. KuCoin,9. Bybit,10. Bitstamp,这些平台提供实时行情、技术分析工具和用户友好的界面,帮助投资者进行有效的市场分析和交易决策。

免费的看盘软件网站有哪些 币圈十大免费看行情软件排名 免费的看盘软件网站有哪些 币圈十大免费看行情软件排名 Apr 22, 2025 am 10:57 AM

币圈十大免费看行情软件排名前三分别是OKX、Binance和gate.io。 1. OKX提供简洁界面和实时数据,支持多种图表和市场分析。 2. Binance功能强大,数据准确,适合各种交易者。 3. gate.io以稳定性和全面性着称,适合长期和短线投资者。

币圈行情实时数据免费平台推荐前十名发布 币圈行情实时数据免费平台推荐前十名发布 Apr 22, 2025 am 08:12 AM

适合新手的加密货币数据平台有CoinMarketCap和非小号。1. CoinMarketCap提供全球加密货币实时价格、市值、交易量排名,适合新手与基础分析需求。2. 非小号提供中文友好界面,适合中文用户快速筛选低风险潜力项目。

数字货币交易app容易上手的推荐top10(025年最新排名) 数字货币交易app容易上手的推荐top10(025年最新排名) Apr 22, 2025 am 07:45 AM

gate.io(全球版)核心优势是界面极简,支持中文,法币交易流程直观;币安(简版)核心优势是全球交易量第一,简版模式仅保留现货交易;OKX(香港版)核心优势是界面简洁,支持粤语/普通话,衍生品交易门槛低;火币全球站(香港版)核心优势是老牌交易所,推出元宇宙交易终端;KuCoin(中文社区版)核心优势是支持800 币种,界面采用微信式交互;Kraken(香港版)核心优势是美国老牌交易所,持有香港SVF牌照,界面简洁;HashKey Exchange(香港持牌)核心优势是香港知名持牌交易所,支持法

See all articles