一、语法
usage: ansible [-h] [--version] [-v] [-b] [--become-method BECOME_METHOD]
[--become-user BECOME_USER]
[-K | --become-password-file BECOME_PASSWORD_FILE]
[-i INVENTORY] [--list-hosts] [-l SUBSET] [-P POLL_INTERVAL]
[-B SECONDS] [-o] [-t TREE] [--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]
[-k | --connection-password-file CONNECTION_PASSWORD_FILE] [-C]
[-D] [-e EXTRA_VARS] [--vault-id VAULT_IDS]
[-J | --vault-password-file VAULT_PASSWORD_FILES] [-f FORKS]
[-M MODULE_PATH] [--playbook-dir BASEDIR]
[--task-timeout TASK_TIMEOUT] [-a MODULE_ARGS] [-m MODULE_NAME]
pattern
1、实例详解
## help信息
ansible -h
## 版本信息
ansible --version
##
-v 打印更多信息
-i INVENTORY 指定inventory文件,默认是/etc/ansible/hosts
-u REMOTE_USER 指定远程主机的用户
-m MODULE_NAME 指定模块名
-a MODULE_ARGS 指定模块参数
pattern 主机通配模式
## webservers指定主机组名
ansible webservers -m service -a "name=httpd state=started"
ansible webservers -m ping
ansible webservers -m command -a "/sbin/reboot -t now"
二、环境变量(Environment)
1、ANSIBLE_INVENTORY
inventory文件的环境变量,会覆盖默认的ansible inventory文件
2、ANSIBLE_LIBRARY
ansible模块包路径,会覆盖默认的模块包路径
3、ANSIBLE_CONFIG
配置文件变量,会覆盖掉默认的配置文件
三、相关配置文件
1、默认的inventory文件 (Default inventory file)
/etc/ansible/hosts
2、全局默认配置文件
/etc/ansible/ansible.cfg
3、用户配置文件
~/.ansible.cfg
如果这个文件存在会覆盖 /etc/ansible/ansible.cfg 这个文件
引用
https://docs.ansible.com/ansible/latest/cli/ansible.html#environment
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_INVENTORY