ansible.command(3) - Linux man page
Name
command - Executes a command on a remote node
Description
The command module takes the command name followed by a list of space-delimited arguments.
The given command will be executed on all selected nodes. It will not be processed through the shell, so variables like $HOME and operations like "<", ">", "|", and "&" will not work. As such, all paths to commands must be fully qualified
Options
- chdir
cd into this directory before running the command(Added in Ansible version 0.6.)
- creates
- a filename, when it already exists, this step will not be run.
- executable
- change the shell used to execute the command. Should be an absolute path to the executable.(Added in Ansible version 0.9.)
- free_form
- the command module takes a free form command to run(required)
- removes
- a filename, when it does not exist, this step will not be run.(Added in Ansible version 0.8.)
Notes
If you want to run a command through the shell (say you are using <, >, |, etc), you actually want the shell module instead. The command module is much more secure as it's not affected by the user's environment.
Examples
Example from Ansible Playbooks
command: /sbin/shutdown -t nowcreates, removes, and chdir can be specified after the command. For instance, if you only want to run a command if a certain file does not exist, use this.
command: /usr/bin/make_database.sh arg1 arg2 creates=/path/to/database
Author
Michael DeHaan
See Also
ansible(1), http://ansible.github.com/modules.html#command