Ansible Cheatsheet

Initial Draft

Common Ansible Commands

# Check Ansible version
ansible --version

# Ping all hosts in the inventory
ansible all -m ping -i inventory.ini

# Run a command on all hosts
ansible all -m command -a "uptime"

# Use the shell module (for pipes, variables, etc.)
ansible all -m shell -a "echo $PATH"

# Copy a file to remote hosts
ansible all -m copy -a "src=./file.txt dest=/tmp/file.txt"

# Install a package (Debian/Ubuntu)
ansible all -m apt -a "name=htop state=present"

# Reboot all hosts
ansible all -m reboot

# Run a playbook
ansible-playbook site.yml

# Specify a custom inventory
ansible-playbook -i inventory.ini site.yml

# Limit playbook to a host or group
ansible-playbook -l webservers site.yml

# Run only specific tags
ansible-playbook site.yml --tags "setup"

# Skip specific tags
ansible-playbook site.yml --skip-tags "debug"

# Show hosts targeted by a playbook
ansible-playbook site.yml --list-hosts

# List tasks in a playbook
ansible-playbook site.yml --list-tasks

# Syntax check a playbook
ansible-playbook site.yml --syntax-check

# Dry-run (check mode)
ansible-playbook site.yml --check

# Run with verbosity
ansible-playbook site.yml -v
ansible-playbook site.yml -vv
ansible-playbook site.yml -vvv

# Encrypt a file with Ansible Vault
ansible-vault encrypt secrets.yml

# Decrypt a vault file
ansible-vault decrypt secrets.yml

# Edit a vault-encrypted file
ansible-vault edit secrets.yml

# Run a playbook with vault password prompt
ansible-playbook site.yml --ask-vault-pass

# Create a new role
ansible-galaxy init roles/myrole

# Install roles from a requirements file
ansible-galaxy install -r requirements.yml

# Show inventory structure (graph)
ansible-inventory -i inventory.ini --graph

# Start at a specific task in a playbook
ansible-playbook site.yml --start-at-task="Install NGINX"

# Lint your playbooks
ansible-lint site.yml
site.yml
inventory.ini
group_vars/
│   ├── all.yml
│   └── webservers.yml
roles/
├── common/
│   └── tasks/main.yml
└── web/
    └── tasks/main.yml

DavisSystem

Consolidated Notes From the Desk of Sean Davis.


Ansible Command Cheatsheet

By Sean, 2025-05-05