安装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 |
|
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