fabric部署详解

安装fabric

pip install fabric

ln -s /usr/local/python2.7/bin/fab /usr/bin/fab  #创建软连接(创建fab为环境变量,如果python安装目录没有自定义,就无需此次操作)

测试

本地:rs1

远程 : rs2,ip:192.168.11.190;rs3,ip:192.168.11.20

一、基本用法(fab -l 查看可用的命令)

1.vim fabfile.py

def hello():
    print("Hello fab!")

 [[email protected] tmp]# fab hello
Hello fab!

Done.

2.文件名不为fabfile.py时需进行指定

mv fabfile.py test.py
[[email protected] tmp]# fab hello
Fatal error: Couldn‘t find any fabfiles!
Remember that -f can be used to specify fabfile path, and use -h for help.
Aborting.
[[email protected] tmp]# fab -f test.py hello
Hello fab!

Done.
[[email protected] tmp]# fab hello -f test.py
Hello fab!

Done.

3.参数传递

def hello(name):
    print ‘Hello %s!‘%name

[[email protected] tmp]# fab hello:name=hy
Hello hy!

Done.
[[email protected] tmp]# fab hello:hy
Hello hy!

Done.

二、本地操作  local

vim fabfile.py

from fabric.api import local

def test():
    local(‘uname -a‘)

fab test

[localhost] local: uname -a
Linux rs1 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux

Done.

三、远程操作  run

1.要执行的命令在脚本里

vim fabfile.py

from fabric.api import run

def test():
    run(‘uname -a‘)

fab test

[[email protected]] Executing task ‘test‘
[[email protected]] run: uname -a
[[email protected]] Login password for ‘root‘:
[[email protected]] out: Linux rs2 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux
[[email protected]] out: 

Done.
Disconnecting from 192.168.11.190... done.

2.自己传要执行哪些命令

from fabric.api import run

def test(command):
           run(command)

fab test:‘uname -a‘ -H [email protected]

 

3.执行时省略-H。host放在脚本里

 

fab test:‘uname -a‘

 

4.host、密码放在脚本里,执行时不用指定

 

fab test:‘uname -a‘

 

多台服务器

同种操作

fab test:‘uname -a

 

 

多种操作


1

2

3

4

5

[[email protected] tmp]# fab -l

Available commands:

    test

    test1

 

fab test:‘uname -a‘

 

fab test1:‘uname -a‘

[[email protected]:22] Executing task ‘test1‘
[[email protected]:22] run: uname -a
[[email protected]:22] out: Linux rs3 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux
[[email protected]:22] out: 

servergroup2执行完毕,请指示

Done.
Disconnecting from 192.168.11.20... done.
时间: 2024-10-12 19:46:25

fabric部署详解的相关文章

Hyperledger Fabric架构详解

区块链开源实现HYPERLEDGER FABRIC架构详解 区块链开源实现HYPERLEDGER FABRIC架构详解 2018年5月26日 陶辉 Comments 10 Comments hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM.Intel.各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量.本文中我们依次讨论:区块链的共通特性.fabric核心概念.fabric的交易执行流程.本文来源于笔者欲对公司部分业务上链而进行培训的P

Nagios服务器端安装部署详解(1)

下载地址如下: http://sourceforge.net/projects/nagios/files/ 具体详细下载地址:http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.6.tar.gz 1 开始下载: wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz/download?us

【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详解

环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载,请注明来源***    http://blog.csdn.net/u010967382/article/details/38709751 到以下地址下载安装包 http://mirrors.cnnic.cn/apache/hive/stable/apache-hive-0.13.1-bin.tar.gz 安装包解压到

codis-3.2.8集群部署详解

codis-3.2.8集群部署详解 一.概要 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表https://github.com/CodisLabs/codis/blob/release3.1/doc/unsupported_cmds.md), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的

SCCM TP4部署详解

SCCM TP4部署详解 在完成了前面复杂而漫长的准备工作后,我们离体验SCCM TP4的距离也越来越近了.在今天的博文当中我们会和大家分享如何部署SCCM TP4.SCCM部署前的准备工作显得非常麻烦,但是大家要知道越是功能强大的软件,其部署前期的准备工作也就自然越麻烦.也就是说我们现在索要部署的SCCM是一个强大的管理平台.软件分发,软硬件资产统计,操作系统部署,远程控制-.这些功能都需要大量的外围组件支撑.不过这对于工程师是好事,复杂的产品用户感到头疼,却是工程师大显身手的地方. 好了,废

lvs原理及安装部署详解(参考)

LVS安装使用详解 摘至:http://www.cnblogs.com/MacoLee/p/5856858.html 简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. 现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个

Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)

注意! laravel/homestead box项目地址已经不再是原来的 https://atlas.hashicorp.com/laravel/boxes/homestead 而已经变更成 https://app.vagrantup.com/laravel/boxes/homestead 如果是刚刚接触Laravel的朋友,请直接按文中步骤操作.需要更新及重装的朋友们请注意使用第二个地址来进行文中操作. 虽然我通常习惯在Linux环境下工作,但对于一个从小就接触Windows的人来说,能够在

Tomcat 部署详解

前篇大概讲过了tomcat的发布和部署,以及测试. 本篇详细介绍下tomcat的部署相关的内容,本篇主要内容: 1 介绍下部署相关的内容,需要安装的文件以及上下文描述符 2 静态部署——在tomcat启动时部署 3 动态部署——在运行时自动部署 4 使用TCD完成部署,另外还可以对应用进行编译.校验.打包等功能. 其他内容参考:tomcat官方文档翻译 介绍 部署就是把web应用开发时的文件拷贝到tomcat容器中,并对其进行编译等操作,使用户可以访问到该应用.在tomcat中有多种部署方式:

非关系型数据库(NoSQL)——Redis安装及部署详解

在现在的互联网大潮中,NoSQL可谓是家喻户晓,Redis作为NoSQL中及其重要的一员,使我们走向架构道路的一条必经之路.作为运维工程师来说,是必须要掌握的! 既然提到了Redis数据库是非关系型数据,并且需要掌握Redis数据库.那么关于关系型数据库与非关系型数据库的基本概念是必须要了解的. 一.关系型数据库与非关系型数据库的基本概念: 数据库按照其结构可以分为关系型数据库与其他数据库,而这些其他数据库,我们统称为非关系型数据库. 1.关系型数据库 关系型数据库是一个结构化的数据库,创建在关