标签:
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!")
[root@rs1 tmp]# fab hello
Hello fab!
Done.
2.文件名不为fabfile.py时需进行指定
mv fabfile.py test.py [root@rs1 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. [root@rs1 tmp]# fab -f test.py hello Hello fab! Done. [root@rs1 tmp]# fab hello -f test.py Hello fab! Done.
3.参数传递
def hello(name):
print ‘Hello %s!‘%name
[root@rs1 tmp]# fab hello:name=hy Hello hy! Done. [root@rs1 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
[root@192.168.11.190] Executing task ‘test‘ [root@192.168.11.190] run: uname -a [root@192.168.11.190] Login password for ‘root‘: [root@192.168.11.190] out: Linux rs2 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux [root@192.168.11.190] 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 root@192.168.11.190
View Code3.执行时省略-H。host放在脚本里
View Codefab test:‘uname -a‘
View Code4.host、密码放在脚本里,执行时不用指定
View Codefab test:‘uname -a‘
View Code多台服务器
同种操作
fab test:‘uname -a
View Code
View Code多种操作
|
1
2
3
4
5
|
[root@rs1 tmp]# fab -lAvailable commands: test test1 |
View Codefab test:‘uname -a‘
View Codefab test1:‘uname -a‘
[root@192.168.11.20:22] Executing task ‘test1‘ [root@192.168.11.20:22] run: uname -a [root@192.168.11.20: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 [root@192.168.11.20:22] out: servergroup2执行完毕,请指示 Done. Disconnecting from 192.168.11.20... done.
标签:
原文地址:http://www.cnblogs.com/paul03/p/5210064.html