Linux集群和自动化维3.6.2 命令行入口fab命令详解-阿里云开发者社区

开发者社区> 华章出版社> 正文

Linux集群和自动化维3.6.2 命令行入口fab命令详解

简介:

3.6.2 命令行入口fab命令详解


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

fab [options] -- [shell command]

其中,

-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 '<remainder>'

[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.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接