fabric学习和实验

fabric学习和实验

安装package:virtualenv

[root@BIGDATA1 pip-9.0.1]# pip install virtualenv
Collecting virtualenv
Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
100% |████████████████████████████████| 1.8MB 412kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0

命令virtualenv就可以创建一个独立的Python运行环境,我们还加上了参数--no-site-packages,
这样,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。
新建的Python环境被放到当前目录下的venv目录。有了venv这个Python环境,可以用source进入该环境:

1,创建虚拟环境
[root@BIGDATA1 fb]# virtualenv venv
New python executable in /app/fb/venv/bin/python2
Also creating executable in /app/fb/venv/bin/python
Installing setuptools, pip, wheel...done.
2,连接创建的虚拟环境
[root@BIGDATA1 fb]# source venv/bin/activate
(venv) [root@BIGDATA1 fb]#
注意到命令提示符变了,有个(venv)前缀,表示当前环境是一个名为venv的Python环境。,
3,检查当前环境package
(venv) [root@BIGDATA1 fb]# pip freeze
appdirs==1.4.3
packaging==16.8
pyparsing==2.2.0
six==1.10.0
4,退出当前虚拟环境
(venv) [root@BIGDATA1 fb]# deactivate
[root@BIGDATA1 fb]#

安装package:fbric

centos7 安装报错:
build/temp.linux-x86_64-2.7/_openssl.c:12:24: 致命错误:pyconfig.h:没有那个文件或目录
# include <pyconfig.h>
^
编译中断。
error: command 'gcc' failed with exit status 1
网上查找问题发现缺少依赖包:https://segmentfault.com/q/1010000008036881?_ea=1528598
yum install gcc libffi-devel python-devel openssl-devel -y

开始安装fabric:
Collecting fabric
Using cached Fabric-1.13.2-py2-none-any.whl
Collecting paramiko<3.0,>=1.10 (from fabric)
Using cached paramiko-2.1.2-py2.py3-none-any.whl
Collecting cryptography>=1.1 (from paramiko<3.0,>=1.10->fabric)
Using cached cryptography-1.8.1.tar.gz
Collecting pyasn1>=0.1.7 (from paramiko<3.0,>=1.10->fabric)
Using cached pyasn1-0.2.3-py2.py3-none-any.whl
Requirement already satisfied: idna>=2.1 in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: asn1crypto>=0.21.0 in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: packaging in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: six>=1.4.1 in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: setuptools>=11.3 in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: enum34 in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: ipaddress in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: cffi>=1.4.1 in ./venv/lib/python2.7/site-packages (from cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: pyparsing in ./venv/lib/python2.7/site-packages (from packaging->cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: appdirs>=1.4.0 in ./venv/lib/python2.7/site-packages (from setuptools>=11.3->cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Requirement already satisfied: pycparser in ./venv/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko<3.0,>=1.10->fabric)
Building wheels for collected packages: cryptography
Running setup.py bdist_wheel for cryptography ... done
Stored in directory: /root/.cache/pip/wheels/c2/12/b8/54077d2a681ad55e244675c3bad78ed27e01916b96f63a32cc
Successfully built cryptography
Installing collected packages: cryptography, pyasn1, paramiko, fabric
Successfully installed cryptography-1.8.1 fabric-1.13.2 paramiko-2.1.2 pyasn1-0.2.3

查看版本:
(venv) [root@BIGDATA1 fb]# fab --version
Fabric 1.13.2
Paramiko 2.1.2

import fabric
dir(fabric)
['builtins', 'doc', 'file', 'name', 'package', 'path']

fabric常用参数

Fab使用格式:
fab [options] <command> [:arg1,arg2=val2,host=,hosts='h1,h2,.....:] .....

-l:显示定义好的任务函数名称
-f:指定fab入口文件,缺少文件名为fabfile.py
-g:指定网关
-H:指定主机名,多主机使用逗号隔开
-P:以异步并行方式运行多主机任务,缺省情况下同步运行;
-R:指定role以角色区分不同业务组设备;
-t:设置主机连接TimeOut时间(Second);
-T:设置远程主机命令执行Timeout时间
-w:当命令执行失败,发出街区,而非默认中止命令。
-p:连接主机的密码

实验操作:
fab -H root@192.168.98.101 -p cmbc1234 -- 'hostname' #查看主机名
fab -H root@192.168.98.101 -p cmbc1234 -- 'netstat -anptu|grep 22' #查看22端口
fab -H root@192.168.98.101 -p cmbc1234 -- 'uname -a' #查看内核
fab -H root@192.168.98.101 -p cmbc1234 -- 'ip addr' #查看IP信息

串行操作:
fab -H 192.168.98.101,192.168.98.102,192.168.98.103 -u root -p cmbc1234 -- 'hostname'

(venv) [root@BIGDATA1 fb]# fab -H 192.168.98.101,192.168.98.102,192.168.98.103 -u root -p cmbc1234 -- 'hostname'
[192.168.98.101] Executing task '<remainder>'
[192.168.98.101] run: hostname
[192.168.98.101] out: BIGDATA1
[192.168.98.101] out:

[192.168.98.102] Executing task '<remainder>'
[192.168.98.102] run: hostname
[192.168.98.102] out: BIGDATA2
[192.168.98.102] out:

[192.168.98.103] Executing task '<remainder>'
[192.168.98.103] run: hostname
[192.168.98.103] out: BIGDATA3
[192.168.98.103] out:

Done.
Disconnecting from 192.168.98.101... done.
Disconnecting from 192.168.98.102... done.
Disconnecting from 192.168.98.103... done.

并行操作:-P
fab -H 192.168.98.101,192.168.98.102,192.168.98.103 -u root -p cmbc1234 -P -- 'hostname'

(venv) [root@BIGDATA1 fb]# fab -H 192.168.98.101,192.168.98.102,192.168.98.103 -u root -p cmbc1234 -P -- 'hostname'
[192.168.98.101] Executing task '<remainder>'
[192.168.98.102] Executing task '<remainder>'
[192.168.98.103] Executing task '<remainder>'
[192.168.98.102] run: hostname
[192.168.98.103] run: hostname
[192.168.98.101] run: hostname
[192.168.98.101] out: BIGDATA1
[192.168.98.101] out:

[192.168.98.103] out: BIGDATA3
[192.168.98.103] out:

[192.168.98.102] out: BIGDATA2
[192.168.98.102] out:

Done.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容