这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 fab,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
fab - 简单的 Pythonic 远程部署工具
概要
FAB [命令 ...]
商品描述
利用 Fabric 的最常见方法是通过其命令行工具, FAB,这
安装 Fabric 时,应该将其放置在 shell 的可执行路径上。 FAB
努力成为一个优秀的 Unix 公民,使用标准风格的命令行开关,
帮助输出等等。
用法
基础版 使用
以最简单的形式, FAB 可以在没有任何选项的情况下调用,并且有一个或多个
参数,应该是任务名称,例如:
$ 晶圆厂任务 1 任务 2
这将运行 任务1 其次是 任务2, 假设 Fabric 能够找到一个 fabfile
附近包含具有这些名称的 Python 函数。
但是,可以通过使用将这种简单的用法扩展为更灵活的用法
提供的选项和/或向单个任务传递参数。
随意 远程 壳 命令
版本0.9.2中的新功能。
Fabric 利用鲜为人知的命令行约定,可以在下面调用
方式:
$ fab [选项] -- [shell 命令]
之后的一切 -- 变成了临时 运行 调用,并且不被解析
FAB 选项。 如果您在模块级别或命令行上定义了主机列表,
这种用法就像一个单行匿名任务。
例如,假设您只想获取一组系统的内核信息; 你
可以这样做:
$ fab -H 系统1,系统2,系统3 -- uname -a
这在字面上等同于以下 fabfile:
从 fabric.api 导入运行
定义匿名():
运行(“uname -a”)
就好像它是这样执行的:
$ fab -H system1,system2,system3 匿名
大多数情况下,您只想在 fabfile 中写出任务(任何您
使用一次,您可能会再次使用)但此功能提供了一种方便快捷的方式
在利用 fabfile 的连接设置的同时,快速执行 SSH 承载的命令。
命令行 选项
可以通过以下方式找到所有可能的命令行选项的快速概览 FAB - 帮帮我。 如果
您正在寻找有关特定选项的详细信息,我们将在下面详细介绍。
注意:
FAB 使用 Python 的 选择解析 库,这意味着它尊重典型的 Linux 或 GNU 风格
短选项和长选项,以及自由混合选项和参数。 例如 FAB 任务1
-H 主机 任务2 -i 路径/到/密钥文件 和更直接的一样有效 FAB
-H 主机 -i 路径/到/密钥文件 任务1 任务2.
-一种, --无代理
套数 环境无代理 至 真, 强制我们的 SSH 层不与 SSH 代理对话
试图解锁私钥文件。
版本0.9.1中的新功能。
-一种, --转发代理
套数 env.forward_agent 至 真,启用代理转发。
版本1.4中的新功能。
--中止提示
套数 env.abort_on_prompts 至 真, 强制 Fabric 在提示时中止
用于输入。
版本1.1中的新功能。
-c 文件, --config=RC文件
套数 环境文件 到给定的文件路径,Fabric 将在启动时尝试加载
并用于更新环境变量。
-d 命令, --显示=命令
打印给定任务的整个文档字符串,如果有的话。 目前没有
打印出任务的函数签名,因此描述性文档字符串是一个好主意。
(他们是 时刻 当然,这是个好主意——这里更是如此。)
--连接尝试=M, -n M
设置尝试连接的次数。 套 环境连接尝试次数.
SEE 另外:
环境连接尝试次数, 环境超时
版本1.4中的新功能。
-D, --禁用已知主机
套数 env.disable_known_hosts 至 真, 防止 Fabric 加载用户的 SSH
已知主机 文件中。
-f 工厂文件, --fabfile=FAB文件
要搜索的 fabfile 名称模式(默认为 工厂文件.py),或者
要加载为 fabfile 的显式文件路径(例如 /路径/到/我的/fabfile.py.)
SEE 另外:
工厂文件
-F LIST_FORMAT, --列表格式=LIST_FORMAT
允许控制输出格式 - 列表. 短 相当于
--入围名单, 正常 与完全省略此选项相同(即
默认),和 嵌套 打印出嵌套的命名空间树。
版本1.1中的新功能。
SEE 另外:
--入围名单, - 列表
-g 主持人, --gateway=主机
套数 环境网关 至 主办方 主机字符串。
版本1.5中的新功能。
-H, - 帮帮我
显示标准帮助消息,包含所有可能的选项和简要概述
他们做什么,然后退出。
--隐藏=级别
逗号分隔的列表 产量 各级 默认隐藏。
-H 主持人, --hosts=主机
套数 环境主机 到给定的以逗号分隔的主机字符串列表。
-x 主持人, --exclude-hosts=主机
套数 env.exclude_hosts 到给定的以逗号分隔的主机字符串列表,然后
排除在最终主机列表之外。
版本1.1中的新功能。
-i KEY_FILENAME
当设置为文件路径时,会将给定文件加载为 SSH 身份文件(通常为
私钥。)此选项可能会重复多次。 设置(或附加到)
env.key_文件名.
-一世, --初始密码提示
在会话开始时强制输入密码提示(在 fabfile 加载和选项之后)
解析,但在执行任何任务之前)以预填充 环境密码.
这对于即发即忘的运行很有用(尤其是并行会话,其中
运行时输入是不可能的)通过设置密码时 - 密码 或
设置 环境密码 在您的 fabfile 中,这是不可取的。
注意:
在此提示中输入的值将 覆盖 通过提供的任何东西
环境密码 在模块级别,或通过 - 密码.
SEE 另外:
密码管理
-k 套数 env.no_keys 至 真, 强制 SSH 层不查找 SSH 私钥
一个人的主目录中的文件。
版本0.9.1中的新功能。
--keepalive=保持活跃
套数 环境保活 到给定的(整数)值,指定一个 SSH keepalive
间隔。
版本1.1中的新功能。
--逐行
强制输出逐行缓冲,而不是逐字节缓冲。 通常有用或
需要 并行 执行.
版本1.3中的新功能。
-l, - 列表
像往常一样导入 fabfile,然后打印所有发现的任务的列表和
退出。 还将打印每个任务的文档字符串的第一行,如果有,则下一步
到它(如有必要,截断。)
在 0.9.1 版更改: 在输出中添加了文档字符串。
SEE 另外:
--入围名单, --列表格式
-p 密码, --password=密码
套数 环境密码 到给定的字符串; 然后它将用作默认密码
在建立 SSH 连接或调用 须藤 程序。
SEE 另外:
--初始密码提示
-P, - 平行线
套数 环境并行 至 真,导致任务并行运行。
版本1.3中的新功能。
SEE 另外:
/用法/并行
--no-pty
套数 env.always_use_pty 至 假,导致所有 运行/须藤 要求表现得像一个人
已指定 pty=假.
版本1.0中的新功能。
-r, --拒绝未知主机
套数 env.reject_unknown_hosts 至 真, 导致 Fabric 在连接时中止
在用户的 SSH 中找不到主机 已知主机 文件中。
-R 角色, --roles=角色
套数 环境角色 到给定的以逗号分隔的角色名称列表。
- 放 键=值,...
允许您为任意 Fabric 环境变量设置默认值。 以这种方式设置的值
具有低优先级——它们不会覆盖更具体的环境变量
也在命令行中指定。 例如:
fab --set 密码=foo --password=bar
将导致 环境密码 = '酒吧',不 '富'
多 键=值 对可以用逗号分隔,例如 FAB - 放
变量1=值1,变量2=值2.
除了基本的字符串值,您还可以通过省略
=值 (例如 FAB - 放 KEY),并且您可以将值设置为空字符串(因此一个
假等效值)通过保留等号,但省略 VALUE (例如 FAB
- 放 KEY =.)
版本1.4中的新功能。
-s 贝壳, --shell=外壳
套数 环境外壳 到给定的字符串,覆盖用于
执行远程命令。
--入围名单
像 - 列表,但没有任何修饰,只是任务名称之间用
没有缩进或文档字符串的换行符。
版本0.9.2中的新功能。
SEE 另外:
- 列表
--show=级别
逗号分隔的列表 产量 各级 添加到显示的那些
默认。
SEE 另外:
运行, 须藤
--ssh-config-路径
套数 环境.ssh_config_path.
版本1.4中的新功能。
SEE 另外:
ssh 配置
--跳过坏主机
套数 env.skip_bad_hosts,导致 Fabric 跳过不可用的主机。
版本1.4中的新功能。
--skip-未知任务
套数 env.skip_unknown_tasks,导致 Fabric 跳过未知任务。
SEE 另外:
env.skip_unknown_tasks
--超时=N, -t N
以秒为单位设置连接超时。 套 环境超时.
SEE 另外:
环境超时, 环境连接尝试次数
版本1.4中的新功能。
--命令超时=N, -T N
以秒为单位设置远程命令超时。 套 env.command_timeout.
SEE 另外:
env.command_timeout,
版本1.6中的新功能。
-u 用户, --user=用户
套数 环境用户 到给定的字符串; 然后它将用作默认用户名
在建立 SSH 连接时。
-V, - 版
显示 Fabric 的版本号,然后退出。
-w, --仅警告
套数 环境警告 至 真, 导致 Fabric 继续执行,即使有命令
遇到错误情况。
-z --池大小
套数 环境池大小, 指定在此期间并发运行的进程数
并行执行。
版本1.3中的新功能。
SEE 另外:
/用法/并行
每个任务 参数
中给出的选项 命令行选项 适用于调用 FAB 作为一个整体; 甚至
如果顺序混合,选项仍然同样适用于所有给定的任务。
此外,由于任务只是 Python 函数,因此通常需要传入
在运行时给它们的参数。
满足这两个需求的是“每任务参数”的概念,这是一个特殊的
您可以添加到任何任务名称末尾的语法:
· 使用冒号 (:) 将任务名称与其参数分开;
· 使用逗号 (,) 将参数彼此分开(可以通过使用
反斜杠,即 \,);
· 使用等号 (=) 用于关键字参数,或者对于位置参数省略它们。 可能
也可以用反斜杠转义。
此外,由于此过程涉及字符串解析,因此所有值都将以 Python 结束
字符串,因此请相应地计划。 (我们希望在未来版本的 Fabric 中对此进行改进,
如果可以找到直观的语法。)
例如,“创建一个新用户”任务可能会像这样定义(省略大部分
为简洁起见的实际逻辑):
def new_user(username, admin='no', comment="没有提供评论"):
打印(“新用户(%s):%s”%(用户名,评论))
通过
您可以仅指定用户名:
$ fab new_user:我的用户名
或者将其视为显式关键字参数:
$ fab new_user:用户名=我的用户名
如果给出了两个参数,您可以再次将它们作为位置参数提供:
$ fab new_user:我的用户名,是的
或者混合搭配,就像在 Python 中一样:
$ fab new_user:我的用户名,admin=yes
这个 打印 上面的调用对于说明转义的逗号很有用,如下所示:
$ fab new_user:myusername,admin=no,comment='Gary\, 新开发者(周一开始)'
注意:
需要引用反斜杠转义的逗号,否则会导致 shell
语法错误。 当参数涉及其他与 shell 相关的时,也需要引号
空格等字符。
以上所有内容都转换为预期的 Python 函数调用。 例如,
上面的最后一次调用将变为:
>>> new_user('myusername', admin='yes', comment='Gary, new developer (starts Monday)')
角色 和 为了
如上所述 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 部分 on 任务 执行, 有一些 per-task 关键字
参数(主持人, 为了, 角色 和 角色) 实际上并不映射到任务函数
本身,但用于设置每个任务的主机和/或角色列表。
这些特殊的 kwargs 是 去除 从 args/kwargs 发送到任务函数本身;
这是为了如果您的任务没有定义 kwargs,您就不会遇到 TypeErrors
题。 (这也意味着如果你 do 用这些名字定义参数,你不会
能够以这种方式指定它们——令人遗憾但必要的牺牲。)
注意:
如果同时给出这些 kwargs 的复数和单数形式,则
复数将胜出,单数将被丢弃。
当使用这些参数的复数形式时,必须使用分号 (;) 因为逗号
已经被用来将参数彼此分开。 此外,由于您的
shell 可能会将分号视为特殊字符,您需要引用主机
列出字符串以防止 shell 解释,例如:
$ fab new_user:myusername,hosts="host1;host2"
再次,由于 为了 kwarg 从发送到的参数列表中删除 新用户 任务
函数,实际的 Python 调用将是 new_user('我的用户名'), 和函数
将在主机列表上执行 ['host1', 'host2'].
个人设置 档
Fabric 目前支持一个简单的用户设置文件,或者 构造器 (认为 巴什尔 但对于
FAB) 应该包含一个或多个键值对,每行一个。 这些线路将是
服从 string.split('='), 因此目前只能用于指定字符串
设置。 任何此类键值对都将用于更新 ENV ,尤其是 FAB 运行并加载
在加载任何 fabfile 之前。
默认情况下,Fabric 查找 〜/.fabricrc,这可以通过指定 -c
标记为 FAB.
例如,如果您的典型 SSH 登录用户名与您的工作站用户名不同,
你不想修改 环境用户 在项目的 fabfile 中(可能是因为您期望
其他人也使用它)你可以写一个 构造器 像这样的文件:
用户 = ssh_user_name
然后,运行时 FAB,您的 fabfile 将加载 环境用户 设置 'ssh_user_name'.
该 fabfile 的其他用户可以做同样的事情,允许 fabfile 本身干净
关于默认用户名不可知。
使用 onworks.net 服务在线使用 fab
