Essential Ansible Commands
This guide contains some essential Ansible commands with their explanations for managing infrastructure efficiently.
-
Ping all hosts to check connectivity
ansible all -m ping
This command checks the connection to all hosts in the inventory file. -
Run a command on all hosts
ansible all -m shell -a "uptime"
This runs the uptime command on all hosts. You can replace uptime with any command you want to run. -
Run a playbook
ansible-playbook playbook.yml
This runs the playbook.yml file against the hosts defined in the inventory. -
Specify a different inventory file
ansible-playbook -i myinventory.ini playbook.yml
This uses myinventory.ini instead of the default /etc/ansible/hosts. -
List hosts in the inventory
ansible all --list-hosts
This lists all the hosts in your inventory. -
Use tags in a playbook
ansible-playbook playbook.yml --tags "mytag"
This runs only the tasks tagged with mytag in the playbook.yml. -
Run playbook on specific host/group
ansible-playbook -l webservers playbook.yml
This runs the playbook only on hosts defined under the webservers group in the inventory. -
Check syntax of playbook
ansible-playbook playbook.yml --syntax-check
This checks for any syntax errors in your playbook.yml. -
Dry run (check mode)
ansible-playbook playbook.yml --check
This performs a dry run to see what changes would be made without actually applying them. -
Show output in JSON format
ansible all -m shell -a "uptime" -o
This command shows the output in a JSON-like format. -
Gather facts about hosts
ansible all -m setup
This gathers detailed information about all hosts, such as OS type, network interfaces, etc. -
Execute a playbook with a specific user
ansible-playbook playbook.yml -u username
This runs the playbook as the specified user (username). -
Run a playbook with sudo privileges
ansible-playbook playbook.yml --become
This runs the playbook with sudo privileges. -
View available roles
ansible-galaxy list
This lists all installed roles in Ansible. -
Install a role from Ansible Galaxy
ansible-galaxy install username.role_name
This installs a role from Ansible Galaxy. Replace username and role_name with the actual role name.

Comments
Post a Comment