fabric应用

安装: pip install fabric  或easy_install fabric

验证:

#python

>>> import  fabric

Fabric提供几个简单的API来完成所有的部署,最常用的是local()和run(),分别在本地和远程执行命令,put()可以把本地文件上传到远程,当需要在远程指定当前目录时,只需用with cd(‘/path/to/dir/‘):即可。

默认情况下,当命令执行失败时,Fabric会停止执行后续命令。有时,我们允许忽略失败的命令继续执行,比如run(‘rm /tmp/abc‘)在文件不存在的时候有可能失败,这时可以用

with settings(warn_only=True):执行命令,这样Fabric只会打出警告信息而不会中断执行。

Fabric是如何在远程执行命令的呢?其实Fabric所有操作都是基于SSH执行的,必要时它会提示输入口令,所以非常安全。更好的办法是在指定的部署服务器上用证书配置无密码的ssh连接。

------------------------------------------------------------

功能说明:
        设置shell

语  法:
        set [+-abCdefhHklmnpPtuvx]

补充说明:
set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。

参  数:
        -a  标示已修改的变量,以供输出至环境变量。
        -b  使被中止的后台程序立刻回报执行状态。
        -C  转向所产生的文件无法覆盖已存在的文件。
        -d  Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
        -e  若指令传回值不等于0,则立即退出shell。
        -f   取消使用通配符。
        -h  自动记录函数的所在位置。
        -H Shell  可利用"!"加<指令编号>的方式来执行history中记录的指令。
        -k  指令所给的参数都会被视为此指令的环境变量。
        -l  记录for循环的变量名称。
        -m  使用监视模式monitor,允许作业控制。
        -n  只读取指令,而不实际执行。
        -p  启动优先顺序模式。
        -P  启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
        -t  执行完随后的指令,即退出shell。
        -u  当执行时使用到未定义过的变量,则显示错误信息。
        -v  显示shell所读取的输入值。
        -x  执行指令后,会先显示该指令及所下的参数。
        +<参数>  取消某个set曾启动的参数。 

Finally, I was able to figure out how to startup tomcat remotely with fabric.

The issue was in background tasks as they will be killed when the command ends.

The solution is simple: just add "set -m;" prefix before command. The full fabric command should be:

sudo(‘set -m; /opt/tomcat/bin/startup.sh‘)例如:
@task
def starttomcat():
    with cd(env.tomcatpath):
        run("set -m ; sh ./bin/startup.sh")
    print yellow ("41 tomcat for callback already started!")
                                                      
时间: 2024-12-20 21:55:02

fabric应用的相关文章

开发者为何对Service Fabric爱不释手?值得关注!

有了它,人人都可开发高可用高伸缩应用.今天小编就为大家介绍一款开发者的"利器"--Service Fabric . 在介绍它之前,先来了解一下它的背景. Service Fabric 是一款应用程序平台,可用于构建基于微服务的应用程序.其核心部分是一个分布式系统平台,用于构建可扩展的可靠应用.在便于封装可部署代码的同时,还内置了微服务最佳实践案例. 快速上市:通过 Service Fabric,开发人员可将重点放在创建可为应用程序增加商业价值的功能上,从而避免了为在基础结构中处理可靠性

Fabric 1.0 ubuntu1704安装过程

1.git安装 apt-get install git 查看当前安装git的版本: git version 验证git是否安装好. 2.golang环境搭建 (1)安装 apt-get install golang (2)查看go的安装路径 go env (3)配置Go环境变量,对应有{GOROOT,GOPATH,PATH}: 对应修改路径: mkdir /opt/gopath/src/github.com/hyperledger/ -p vi /etc/profile   export GOR

fabric教程(1)

fabric 是python 的库和命令行工具,用来提高基于ssh的应用部署和系统管理效率. 首先通过pip安装: pip install fabric 第一个hello world: fabric.py  默认文件 def hello(): print 'hello world!' 执行命令: fab hello 结果: hello world! Done. 第二个带参数: def ehello(name="world"): print 'hello %s' % name 运行: f

Hyperledger Fabric 建立一个简单网络

p { margin-bottom: 0.25cm; line-height: 120% } Building you first network 网络结构: 2个Orgnizations(每个Org包含2个peer节点)+1个solo ordering service 打开fabric-sample下的示例first-network p { margin-bottom: 0.25cm; line-height: 120% } 其中byfn.sh为启动这个网络的启动脚本,启动脚本中除建立一个包含

Hyperledger Fabric 架构梳理

区块链的数据结构 State数据结构 由peer维护,key/value store Ledger  记录了所有成功和不成功的状态更新交易.Ledger被ordering service构造,是一个全排序的交易区块(有效的和无效的)哈希链. Ledger存储在peer节点和orderer的一个子集里.存储在peer上的Ledger和存储在Orderer上的Ledger不同地方在于peer上的Ledger在本地维护一个位掩码(比特位)用来区分有效交易和无效交易. PeerLedger在v1后续版本

HyperLedger Fabric 1.0的Transaction处理流程

如果把区块链比作一个只能读写,不能删改的分布式数据库的话,那么事务和查询就是对这个数据库进行的最重要的操作.以比特币来说,我们通过钱包或者Blockchain.info进行区块链的查询操作,而转账行为就是Transaction的处理.而HyperLedger Fabric在1.0对系统架构进行了升级,使得事务的处理更加复杂. 一.架构 让我们来看看Fabric 0.6到1.0的架构图: 这个图来自IBM微课堂第三讲,我们可以看到原来单一的peer节点在1.0中进行了拆分,分为peer(背书节点和

主流区块链技术特点及Fabric V0.6&V1.0版本特点

声明:文章内容来源于网络. 一.主流区块链技术特点 二.Hyperledger的fabric V0.6总体架构: 对应的0.6版本的运行时架构: 0.6版本的架构特点是: 结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点:    架构问题:由于peer节点承担了太多的功能,所以带来扩展性.可维护性.安全性.业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证: 三.Hyperledger的fabric V

&lt;zz&gt;PYTHON FABRIC实现远程操作和部署

from http://www.cnblogs.com/liujianzuo888/articles/6230691.html fabric title是开发,但是同时要干开发测试还有运维的活 (o(╯□╰)o) 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多. 修复bug什么的,测试,提交版本库(2分钟),ssh到测试环境pull部署(2分钟),rsync到线上机器A,B,C,D,E(1分钟),分别ssh到ABCDE五台机器,逐一重启(8-10分钟)

MySQL: Fabric 搭建 HA

搭建好Fabric之后,就可以在它的基础上创建HA Group. Shard Group.HA+Shard Group等.这里来说明一下如何快速的搭建HA环境. Fabric 192.168.2.234:33060 Master 192.168.2.234:33061 Slave1 192.168.2.234:33062 Slave2 192.168.2.234:33063 1.搭建Fabric环境 如果已搭建好,可以忽略这一步.如果没有搭建可以参考之前的说明. 2.准备3个受管MySQL 实例

Fabric简单使用说明

背景: 关于Fabric的介绍,可以看官网说明.简单来说主要功能就是一个基于Python的服务器批量管理库/工具,Fabric 使用 ssh(通过 paramiko 库)在多个服务器上批量执行任务.上传.下载.在使用Fabric之前,都用Python的paramiko模块来实现需求,相比之后发现Fabric比paramiko模块强大很多.具体的使用方法和说明可以看官方文档介绍.下面写类一个用paramiko封装的远程操作类的模板: #!/usr/bin/python # -*- encoding