Ansible Cheatsheet
Quick reference for Ansible commands covering playbooks, inventory, modules, vault, galaxy, variables, ad-hoc commands, and configuration
59 commands
ansible-playbookRun a playbook
ansible-playbook site.ymlansible-playbook -iRun playbook with inventory
ansible-playbook -i hosts.ini site.ymlansible-playbook --limitRun playbook on limited hosts
ansible-playbook site.yml --limit webserversansible-playbook --tagsRun only tagged tasks
ansible-playbook site.yml --tags deployansible-playbook --skip-tagsSkip tagged tasks
ansible-playbook site.yml --skip-tags testansible-playbook --checkDry run without changes
ansible-playbook site.yml --checkansible-playbook --diffShow diff of changes
ansible-playbook site.yml --diffansible-playbook -vRun playbook with verbose output
ansible-playbook site.yml -vvvansible-playbook --extra-varsRun playbook with extra variables
ansible-playbook site.yml --extra-vars 'env=prod version=1.0'ansible-playbook --ask-become-passPrompt for sudo password
ansible-playbook site.yml --ask-become-passansible-playbook --list-tasksList tasks to be executed
ansible-playbook site.yml --list-tasksansible-playbook --list-hostsList target hosts
ansible-playbook site.yml --list-hostsansible-inventory --listShow full inventory as JSON
ansible-inventory --list -i hosts.iniansible-inventory --graphShow inventory as tree
ansible-inventory --graphansible-inventory --hostShow variables for a host
ansible-inventory --host web01ansible all --list-hostsList all hosts
ansible all --list-hostsansible-inventory -i (dynamic)Use dynamic inventory script
ansible-inventory -i aws_ec2.yml --listansible GROUP --list-hostsList hosts in a group
ansible webservers --list-hostsansible-docShow module documentation
ansible-doc copyansible-doc -lList available modules
ansible-doc -lansible-doc -sShow module snippet
ansible-doc -s yumansible-doc -t callbackList callback plugins
ansible-doc -t callback -lansible-doc -t lookupList lookup plugins
ansible-doc -t lookup -lansible-doc -t inventoryList inventory plugins
ansible-doc -t inventory -lansible-vault createCreate new encrypted file
ansible-vault create secrets.ymlansible-vault editEdit encrypted file
ansible-vault edit secrets.ymlansible-vault viewView encrypted file contents
ansible-vault view secrets.ymlansible-vault encryptEncrypt existing file
ansible-vault encrypt vars.ymlansible-vault decryptDecrypt encrypted file
ansible-vault decrypt secrets.ymlansible-vault encrypt_stringEncrypt a string
ansible-vault encrypt_string 'mypassword' --name 'db_password'ansible-vault rekeyChange encryption password
ansible-vault rekey secrets.ymlansible-playbook --vault-password-fileRun with vault password file
ansible-playbook site.yml --vault-password-file .vault_passansible-galaxy initInitialize a new role
ansible-galaxy init my-roleansible-galaxy installInstall role from Galaxy
ansible-galaxy install geerlingguy.dockeransible-galaxy install -rInstall roles from requirements
ansible-galaxy install -r requirements.ymlansible-galaxy listList installed roles
ansible-galaxy listansible-galaxy removeRemove a role
ansible-galaxy remove geerlingguy.dockeransible-galaxy collection installInstall a collection
ansible-galaxy collection install community.generalansible-galaxy collection listList installed collections
ansible-galaxy collection listansible -m setupGather host facts
ansible web01 -m setupansible -m setup --treeSave facts to files
ansible all -m setup --tree /tmp/factsansible -m setup -a filterFilter specific facts
ansible web01 -m setup -a 'filter=ansible_os_family'ansible -m debugDebug variable values
ansible localhost -m debug -a 'var=hostvars'ansible-playbook -e @fileLoad variables from file
ansible-playbook site.yml -e @vars.jsonansible-config dumpDump current Ansible config
ansible-config dump --only-changedansible all -m pingPing all hosts
ansible all -m pingansible all -m commandRun command on all hosts
ansible all -m command -a 'uptime'ansible all -m shellRun shell command with pipes
ansible all -m shell -a 'df -h | head -5'ansible all -m copyCopy file to remote hosts
ansible all -m copy -a 'src=file.txt dest=/tmp/'ansible all -m yumManage packages with yum
ansible all -m yum -a 'name=nginx state=present' -bansible all -m serviceManage services
ansible all -m service -a 'name=nginx state=started' -bansible all -m userManage users
ansible all -m user -a 'name=deploy state=present' -bansible all -m fileManage files and directories
ansible all -m file -a 'path=/opt/app state=directory mode=0755' -bansible --versionShow version and config path
ansible --versionansible-config listList all configuration options
ansible-config listansible-config viewView current config file
ansible-config viewansible-lintLint check playbook
ansible-lint site.ymlansible-pullPull and run playbook from repo
ansible-pull -U https://github.com/user/repo.gitansible-playbook --syntax-checkCheck playbook syntax
ansible-playbook site.yml --syntax-check