草庐IT

python - fabric API 在 python 中直接调用

我记得fabricAPI可以在py脚本中直接调用但忘了从哪里开始有人给个线索吗? 最佳答案 是的,你可以调用它,例如:fromfabric.apiimportrunfromfabric.tasksimportexecutedefdo_something():run("echo$RANDOM")if__name__=="__main__":execute(do_something,hosts=["username@host"]) 关于python-fabricAPI在python中直接调用

python - 如何使用 Fabric 通过代理建立 SSH 连接?

我正在尝试在WindowsPC和Linux服务器(amazonec2)之间建立SSH连接。我决定使用通过python实现的FabricAPI。我在WindowsPC上安装了Putty。我的fabfile脚本如下所示:importsysfromfabric.apiimport*deftestlive():print'Testlive...'run("uptime")env.use_ssh_config=Falseenv.host_string="host.something.com"env.user="myuser"env.keys_filename="./private_openssh

python - Fabric - 通过执行将参数传递给任务

我有以下Fabric任务:defssh_keygen(user,dir):env.user=userrun("ssh-keygen%s"%dir)我想使用“执行”来调用它,但需要向任务传递一个参数。即用户和目录execute(ssh_keygen('jbloggs','/home/jbloggs'),hosts=["server1"])但是这不起作用:Nohostsfound.Pleasespecify(single)hoststringforconnection:Traceback(mostrecent有什么办法可以实现吗? 最佳答案

python - Fabric 库的动态主机和并行任务

有没有办法在多个并行任务之间动态修改主机?这是我目前所拥有的。definit_hosts():env.hosts=[host1,host2,host3,host4]@paralleldeftask_1():ifconditionisFalse:env.hosts.remove(env.host)@paralleldeftask_2():run('uname-s')显然我缺少一些env参数,但我只希望task_2在满足task_1条件的主机上运行。task_2的主机列表似乎在启动时已初始化,因为它在init_hosts()中定义的初始env.hosts列表中的所有主机上运行>。我也尝试过

Python Fabric 给出 : Fatal error: No existing session

我从文档中获得了以下简单的fabfile.py:fromfabric.apiimportrundefhost_type():run('uname-s')我尝试使用以下方式运行它:fab-H192.168.0.201host_type但是得到错误:me@ubuntu:~/me$fab-H192.168.0.201host_type[192.168.0.201]run:uname-sPasswordforme@192.168.0.201:Fatalerror:NoexistingsessionAborting.我可以ssh进入192.168.0.201。有什么想法吗?

python Fabric : How to handle arbitrary remote shell prompt for input?

这与此有关question在这里,但有一点点变化:我需要Fabric将任意字符串传递到远程shell,而不是仅仅传递"is"或“否”。例如,如果远程shell提示“你叫什么名字?”然后我需要“先,后”喂它。澄清:我知道我说的是任意输入,但我真的是tryingtouseitfortheSSHkeypasswdpromptwhenItrytodoagitpull.更新#1:得到JeffForcier@bitprophet的回复that’slikethe#1wartrightnow:(Eithertunnellingtosendakeyagentout-of-band,orremotepro

python - 如何使用 fabric 在没有本地临时文件的情况下获取远程文件的内容

我想使用fabric获取远程文件的内容,而不创建临时文件。 最佳答案 fromStringIOimportStringIOfromfabric.apiimportgetfd=StringIO()get(remote_path,fd)content=fd.getvalue() 关于python-如何使用fabric在没有本地临时文件的情况下获取远程文件的内容,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

fabric 2.3 手动搭建网络&安装chaincode智能合约

搭建好fabric之后,要在test-network下手动启动一个fabric网络。将下载过来的order和peer1两个文件夹放到~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network目录下。生成证书文件:cryptogengenerate--config=./organizations/cryptogen/crypto-config-org1.yaml--output="organizations"cryptogengenerate--config=./organizations/cryptoge

python - 如何让Fabric在得到退出状态: 1?后继续运行下一条命令

我要安装check_mk通过编写一个像这样的简单fabfile插件:fromfabric.apiimportenv,run,roles,execute,parallelenv.roledefs={'monitoring':['192.168.3.118'],'mk-agent':['192.168.3.230','192.168.3.231','192.168.3.232']}@roles('monitoring')defmk():run('[-fcheck_mk-1.1.12p7.tar.gz]||wgethttp://mathias-kettner.de/download/chec

45. Fabric2.2 事件监听机制应用

本节全面讲述Fabric事件监听机制,并用实际客户端代码演示事件监听的特点、特性。1.Fabric2.2支持的事件类型RegisterBlockEvent:区块事件监听,当产生区块时客户端收到消息,接收到完整的区块数据。RegisterFilteredBlockEvent:也是区块事件监听,但完整的区块数据结构复杂,有很多参数,调用该函数会精简返回参数。RegisterChaincodeEvent:监听合约事件,智能合约调用SetEvent设置事件,客户端接收到事件。RegisterTxStatusEvent:获取某个指定的txid上链事件,一般对链上数据监听,不使用该接口。当TPS比较高时,