Ad-hoc Commands
ansible all -m ping Ping all hosts ansible all -m setup Gather facts ansible all -m shell -a "uptime" Run shell command ansible all -m copy -a "src=/local dest=/remote" Copy file ansible all -m file -a "path=/tmp/test state=directory" Create directory ansible all -m apt -a "name=nginx state=present" -b Install package ansible all -m service -a "name=nginx state=started" -b Start service ansible all -m user -a "name=deploy state=present" -b Create user Playbook Execution
ansible-playbook playbook.yml Run playbook ansible-playbook playbook.yml -i inventory Custom inventory ansible-playbook playbook.yml -l webservers Limit to group ansible-playbook playbook.yml -t deploy Run specific tags ansible-playbook playbook.yml --skip-tags test Skip tags ansible-playbook playbook.yml -e "env=prod" Extra variables ansible-playbook playbook.yml --check Dry run ansible-playbook playbook.yml --diff Show changes ansible-playbook playbook.yml -v Verbose output ansible-playbook playbook.yml -vvv Very verbose Inventory Management
ansible-inventory --list List inventory ansible-inventory --graph Show inventory graph ansible-inventory --host hostname Host variables ansible all --list-hosts List all hosts ansible webservers --list-hosts List group hosts Vault (Secrets)
ansible-vault create secrets.yml Create encrypted file ansible-vault edit secrets.yml Edit encrypted file ansible-vault view secrets.yml View encrypted file ansible-vault encrypt secrets.yml Encrypt existing file ansible-vault decrypt secrets.yml Decrypt file ansible-vault rekey secrets.yml Change password ansible-playbook site.yml --ask-vault-pass Prompt for vault password ansible-playbook site.yml --vault-password-file=.vault Use password file Galaxy (Roles)
ansible-galaxy init role_name Create role skeleton ansible-galaxy install user.role Install role ansible-galaxy install -r requirements.yml Install from file ansible-galaxy list List installed roles ansible-galaxy remove user.role Remove role ansible-galaxy collection install community.general Install collection Debugging
ansible-playbook playbook.yml --syntax-check Check syntax ansible-playbook playbook.yml --list-tasks List tasks ansible-playbook playbook.yml --list-tags List tags ansible-playbook playbook.yml --step Step through tasks ansible-playbook playbook.yml --start-at-task="task name" Start at task ansible-config dump Show config ansible-doc -l List modules ansible-doc apt Module documentation Common Modules
apt/yum/dnf Package management copy/template File operations file File properties service/systemd Service management user/group User management lineinfile/blockinfile File content command/shell/raw Command execution debug/assert/fail Debugging git Git operations docker_container/docker_image Docker management Connection Options
-u remote_user Remote user -b / --become Privilege escalation -K / --ask-become-pass Prompt sudo password --private-key=~/.ssh/key SSH key -c local Local connection -f 10 Parallel forks -T 30 Connection timeout