3.6.2 命令行入口fab命令详解

fab作为Fabric的命令行入口,提供了丰富的参数调用,命令格式如下:

fab [options] -- [shell command]

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

其中,

·-l:显示定义好的任务函数名。

·-f:指定fab入口文件,默认入口文件名为fabfile.py,如果当前目录不存在fabfile.py,则必须用-f参数指定一个新的文件,不然会报错。

·-g:指定网关设备,比如跳板机环境,填写跳板机IP即可。

·-H:指定目标主机,多台主机用“,”号分隔。

·-P:以异步并行方式运行多个主机任务,默认为串行运行。

·-R:指定角色(role),以角色名区分不同的业务组设备。

·-t:设置设备连接超时时间。

·-T:设置远程主机命令执行超时时间。

·-w:当命令执行失败,发出警告,而非默认终止任务。

如果想要通过Fabric得知远程机器192.168.1.205的hostname名,可执行如下命令:

fab -p redhat(root密码

) -H 192.168.1.205 -- 'hostname'

记得在当前目录下用touch命令建立一个新的fabfile.py文件,不然会产生如下报错:

Traceback (most recent call last):

File "/usr/lib/python2.6/site-packages/Fabric-1.3.0-py2.6.egg/fabric/main.py", line 600, in main

arguments, remainder_arguments, default)

UnboundLocalError: local variable 'default' referenced before assignment

成功执行完fab命令以后,就可以看得到以下结果了:

[192.168.1.205] Executing task ''

[192.168.1.205] run: uname -r

[192.168.1.205] out: 2.6.32-358.el6.x86_64

Done.

Disconnecting from 192.168.1.205... done.