ansible(1)
=========
:doctype:manpage
:man source:   Ansible
:man version:  %VERSION%
:man manual:   System administration commands

NAME
----
ansible - run a command somewhere else


SYNOPSIS
--------
ansible <host-pattern> [-f forks] [-m module_name] [-a args]


DESCRIPTION
-----------

*Ansible* is an extra-simple tool/framework/API for doing \'remote things' over
SSH.


ARGUMENTS
---------

*host-pattern*::

A name of a group in the inventory file, a shell-like glob selecting
hosts in inventory file, or any combination of the two separated by
semicolons.

OPTIONS
-------

*-v*, *--verbose*::

Verbose mode, more output from successful actions will be shown. Give
up to three times for more output.

*-i* 'PATH', *--inventory=*'PATH'::

The 'PATH' to the inventory hosts file, which defaults to '/etc/ansible/hosts'.


*-f* 'NUM', *--forks=*'NUM'::

Level of parallelism. 'NUM' is specified as an integer, the default is 5.

*--private-key=*'PRIVATE_KEY_FILE'::

Use this file to authenticate the connection.


*-m* 'NAME', *--module-name=*'NAME'::

Execute the module called 'NAME'.


*-M* 'DIRECTORY', *--module-path=*'DIRECTORY'::

The 'DIRECTORY' search path to load modules from. The default is
'/usr/share/ansible'. This can also be set with the ANSIBLE_LIBRARY
environment variable.

*-a* \'_ARGUMENTS_', *--args=*\'_ARGUMENTS_'::

The 'ARGUMENTS' to pass to the module.

*-k*, *--ask-pass*::

Prompt for the SSH password instead of assuming key-based authentication with ssh-agent.

*-K*, *--ask-sudo-pass*::

Prompt for the password to use with --sudo, if any

*-o*, *--one-line*::

Try to output everything on one line.

*-s*, *--sudo*::

Run the command as the user given by -u and sudo to root.

*-t* 'DIRECTORY', *--tree=*'DIRECTORY'::

Save contents in this output 'DIRECTORY', with the results saved in a
file named after each host.

*-T* 'SECONDS', *--timeout=*'SECONDS'::

Connection timeout to use when trying to talk to hosts, in 'SECONDS'.

*-B* 'NUM', *--background=*'NUM'::

Run commands in the background, killing the task after 'NUM' seconds.

*-P* 'NUM', *--poll=*'NUM'::

Poll a background job every 'NUM' seconds. Requires *-B*.

*-u* 'USERNAME', *--remote-user=*'USERNAME'::

Use this remote 'USERNAME' instead of the current user.

*-U* 'SUDO_USERNAME', *--sudo-user=*'SUDO_USERNAME'::

Sudo to 'SUDO_USERNAME' instead of root.  Implies --sudo.

*-c* 'CONNECTION', *--connection=*'CONNECTION'::

Connection type to use.  Possible options are 'paramiko' (SSH), 'ssh',
and 'local'.  'local' is mostly useful for crontab or kickstarts.

*-l* 'SUBSET', *--limit=*'SUBSET'::

Further limits the selected host/group patterns.

*-l* '\~REGEX', *--limit=*'~REGEX'::

Further limits hosts with a regex pattern.

INVENTORY
---------

Ansible stores the hosts it can potentially operate on in an inventory
file. The syntax is one host per line.  Groups headers are allowed and
are included on their own line, enclosed in square brackets that
start the line.

Ranges of hosts are also supported.  For more information and
additional options, see the documentation on http://ansible.github.com/.

FILES
-----

/etc/ansible/hosts -- Default inventory file

/usr/share/ansible/ -- Default module library

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

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

ENVIRONMENT
-----------

The following environment variables may specified.

ANSIBLE_HOSTS  -- Override the default ansible hosts file

ANSIBLE_LIBRARY -- Override the default ansible module library path

ANSIBLE_CONFIG -- Override the default ansible config file


AUTHOR
------

Ansible was originally written by Michael DeHaan. See the AUTHORS file
for a complete list of contributors.


COPYRIGHT
---------

Copyright © 2012, Michael DeHaan

Ansible is released under the terms of the GPLv3 License.


SEE ALSO
--------

*ansible-playbook*(1), *ansible-pull*(1), *ansible-doc*(1)

Extensive documentation as well as IRC and mailing list info
is available on the ansible home page: <https://ansible.github.com/>
