Fabric是一个Python(2.5-2.7)库和命令行工具,可以通过SSH在多个host上批量执行任务, 用于简化应用程序部署或系统管理任务的SSH使用。

fabric官方英文文档: http://www.fabfile.org/

1. pip安装

详见linux下pip的安装及常用命令

2. fabric安装

建议在虚拟环境virtualenv或virtualenvwrapper下安装fabric

# pip install fabric

安装完fabric即可使用fab命令

3. fabric变量

from fabric.api import env

  • env.user: 用于登录服务器的用户名
  • env.password: 用户名对应的密码
  • env.hosts: 服务器的 IP 地址,也可以是解析到这个 IP 的域名
  • env.port: SSH 远程服务器的端口号

4. fabric传参

p.s. 默认文件名为fabfile.py文件名不为fabfile.py时需使用-f进行指定.

vim fabfile.py:

def hello(name):
    print 'Hello %s!'%name

以下两种方式可以传参:

$ fab hello:name=fab
Hello fab!
 
$ fab hello:fab
Hello fab!

5. 本地操作

执行本地操作命令使用local

vim fabfile.py:

# coding: utf-8

from fabric.api import local

def test():
    local('cd /home/')  
    local('ls -l|wc -l')

执行fab test, 结果如下:

$ fab test
[localhost] local: cd /home/
[localhost] local: ls -l|wc -l
16

Done.

6. 远程操作

执行远程操作命令使用run

未完, 待续…