From Get docs


Runs Ansible playbooks, executing the defined tasks on the targeted hosts.


usage: ansible-playbook [-h] [--version] [-v] [-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] [--force-handlers]
                     [--flush-cache] [-b] [--become-method BECOME_METHOD]
                     [--become-user BECOME_USER] [-K] [-t TAGS]
                     [--skip-tags SKIP_TAGS] [-C] [--syntax-check] [-D]
                     [-i INVENTORY] [--list-hosts] [-l SUBSET]
                     [-e EXTRA_VARS] [--vault-id VAULT_IDS]
                     [--ask-vault-pass | --vault-password-file VAULT_PASSWORD_FILES]
                     [-f FORKS] [-M MODULE_PATH] [--list-tasks]
                     [--list-tags] [--step] [--start-at-task START_AT_TASK]
                     playbook [playbook ...]


the tool to run Ansible playbooks, which are a configuration and multinode deployment system. See the project home page ( for more information.

Common Options

ask for vault password
--become-method <BECOME_METHOD>
privilege escalation method to use (default=%(default)s), use ansible-doc -t become -l to list valid choices.
--become-user <BECOME_USER>
run operations as this user (default=root)
clear the fact cache for every host in inventory
run handlers even if a task fails
outputs a list of matching hosts; does not execute anything else
list all available tags
list all tasks that would be executed
--private-key <PRIVATE_KEY_FILE>, --key-file <PRIVATE_KEY_FILE>
use this file to authenticate the connection
--scp-extra-args <SCP_EXTRA_ARGS>
specify extra arguments to pass to scp only (e.g. -l)
--sftp-extra-args <SFTP_EXTRA_ARGS>
specify extra arguments to pass to sftp only (e.g. -f, -l)
only run plays and tasks whose tags do not match these values
--ssh-common-args <SSH_COMMON_ARGS>
specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)
--ssh-extra-args <SSH_EXTRA_ARGS>
specify extra arguments to pass to ssh only (e.g. -R)
--start-at-task <START_AT_TASK>
start the playbook at the task matching this name
one-step-at-a-time: confirm each task before running
perform a syntax check on the playbook, but do not execute it
the vault identity to use
vault password file
show program’s version number, config file location, configured module search path, module location, executable location and exit
-C, --check
don’t make any changes; instead, try to predict some of the changes that may occur
-D, --diff
when changing (small) files and templates, show the differences in those files; works great with –check
-K, --ask-become-pass
ask for privilege escalation password
-M, --module-path
prepend colon-separated path(s) to module library (default=~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules)
-T <TIMEOUT>, --timeout <TIMEOUT>
override the connection timeout in seconds (default=10)
-b, --become
run operations with become (does not imply password prompting)
-c <CONNECTION>, --connection <CONNECTION>
connection type to use (default=smart)
-e, --extra-vars
set additional variables as key=value or YAML/JSON, if filename prepend with @
-f <FORKS>, --forks <FORKS>
specify number of parallel processes to use (default=5)
-h, --help
show this help message and exit
-i, --inventory, --inventory-file
specify inventory host path or comma separated host list. –inventory-file is deprecated
-k, --ask-pass
ask for connection password
-l <SUBSET>, --limit <SUBSET>
further limit selected hosts to an additional pattern
-t, --tags
only run plays and tasks tagged with these values
connect as this user (default=None)
-v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)


The following environment variables may be specified.

ANSIBLE_CONFIG – Override the default ansible config file

Many more are available for most options in ansible.cfg


/etc/ansible/ansible.cfg – Config file, used if present

~/.ansible.cfg – User config file, overrides the default config if present


Ansible was originally written by Michael DeHaan.

See the AUTHORS file for a complete list of contributors.


Ansible is released under the terms of the GPLv3+ License.

See also

ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-galaxy(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1), ansible-vault(1),

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.