当前位置: 首页 > 工具软件 > Ansible > 使用案例 >

Ansible 命令行工具——ansible

费秦迟
2023-12-01

ansible

针对一组主机定义和运行单个任务“剧本”

语法

usage: ansible [-h] [--version] [-v] [-b] [--become-method BECOME_METHOD]
            [--become-user BECOME_USER] [-K] [-i INVENTORY] [--list-hosts]
            [-l SUBSET] [-P POLL_INTERVAL] [-B SECONDS] [-o] [-t TREE] [-k]
            [--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER]
            [-c CONNECTION] [-T TIMEOUT]
            [--ssh-common-args SSH_COMMON_ARGS]
            [--sftp-extra-args SFTP_EXTRA_ARGS]
            [--scp-extra-args SCP_EXTRA_ARGS]
            [--ssh-extra-args SSH_EXTRA_ARGS] [-C] [--syntax-check] [-D]
            [-e EXTRA_VARS] [--vault-id VAULT_IDS]
            [--ask-vault-pass | --vault-password-file VAULT_PASSWORD_FILES]
            [-f FORKS] [-M MODULE_PATH] [--playbook-dir BASEDIR]
            [-a MODULE_ARGS] [-m MODULE_NAME]
            pattern

说明

是一个非常简单的工具/框架/API,用于执行“远程操作”。此命令允许您针对一组主机定义和运行单个任务“剧本”

常见选项

参数说明
--ask-vault-pass问vault密码
--become-method <BECOME_METHOD>使用的权限提升方法 (default=%(default)s),使用 ansible-doc -t become -l 列出有效的选择。
--become-user <BECOME_USER>以此用户身份运行操作(默认=root)
--list-hosts列出匹配主机列表;不执行任何其他操作
--playbook-dir <BASEDIR>此工具不使用剧本,因此使用它作为替代剧本目录。这为许多功能设置了相对路径,包括roles/ group_vars/ 等。
--private-key <PRIVATE_KEY_FILE>, --key-file <PRIVATE_KEY_FILE>用此文件来验证连接
--scp-extra-args <SCP_EXTRA_ARGS>指定传递给 scp 的额外参数(例如 -l)
--sftp-extra-args <SFTP_EXTRA_ARGS>指定传递给 sftp 的额外参数(例如 -f、-l)
--ssh-common-args <SSH_COMMON_ARGS>指定要传递给 sftp/scp/ssh 的通用参数(例如 ProxyCommand)
--ssh-extra-args <SSH_EXTRA_ARGS>指定传递给 ssh 的额外参数(例如 -R)
--syntax-check剧本执行语法检查,但不执行它
--vault-id使用的vault标识
--vault-password-file保险库密码文件
--version显示程序的版本号、配置文件位置、配置的模块搜索路径、模块位置、可执行位置和退出
-B <SECONDS>, --background <SECONDS>异步运行,X 秒后失败(默认值=N/A)
-C, --check不做任何改变;而是,尝试预测一些可能发生的变化
-D, --diff修改(缩小)文件和模板时,显示这些文件中的差异;与 –check 配合使用效果很好
-K, --ask-become-pass要求提权密码
-M, --module-path冒号分隔的路径添加到模块库(默认=~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules)
-P <POLL_INTERVAL>,  --poll <POLL_INTERVAL>如果使用 -B,则设置轮询间隔(默认值 = 15)
-T <TIMEOUT>, --timeout <TIMEOUT>覆盖连接超时时间,单位为秒(默认值 = 10)
-a <MODULE_ARGS>, --args <MODULE_ARGS>模块参数
-b, --become用 become 运行操作(不要求密码提示)
-c <CONNECTION>, --connection <CONNECTION>使用的连接类型(默认=smart)
-e, --extra-vars如果文件名以 @ 开头,则将其他变量设置为 key=value 或 YAML/JSON
-f <FORKS>, --forks <FORKS>指定要使用的并行进程数(默认值 = 5)
-h, --help示此帮助信息并退出
-i, --inventory, --inventory-file指定清单主机路径或逗号分隔的主机列表。 –inventory-file 已弃用
-k, --ask-pass要求连接密码
-l <SUBSET>, --limit <SUBSET>进一步将选定的主机限制为其他模式
-m <MODULE_NAME>, --module-name <MODULE_NAME>执行的模块名称(默认=command)
-o, --one-linecondense output
-t <TREE>, --tree <TREE>日志输出到这个目录
-u <REMOTE_USER>, --user <REMOTE_USER>以此用户身份连接(默认=None)
-v, --verbose细模式(-vv,-vvv 表示更多,-vvvv 启用连接调试)

环境

可以指定以下环境变量。

ANSIBLE_CONFIG – 覆盖默认的 ansible 配置文件

ansible.cfg 中的大多数选项还有更多可用选项

文件

/etc/ansible/ansible.cfg – 配置文件,如果存在则使用

~/.ansible.cfg – 用户配置文件,如果存在则覆盖默认配置

作者

Ansible 最初由 Michael DeHaan 编写。

有关贡献者的完整列表,请参阅AUTHORS文件。

执照

Ansible 是根据 GPLv3+ 许可条款发布的。

 类似资料: