Ansible allows us to carry out more ad-hoc tasks on servers within our inventory as well. For example, if we wanted to create a playbook that carried out a set of tasks, we could do so in a similar format to how we would create / define an Ansible Role - using YAML syntax and defining the same or very similar set of parameters within one file.
--- - hosts: bookstack become: yes tasks: - name: Backup Bookstack container files command: tar -cvzf bookstack-backup.tar.gz /home/admin/bookstack - name: Fetch backup files from remote host command: scp -P 2222 -i /home/kapak/.ssh/id_rsa /home/admin/bookstack-backup.tar.gz firstname.lastname@example.org:/home/admin/backups/bookstack/
Here, we use
scp instead of Ansible's Fetch module to save memory on the small host that runs the BookStack you are viewing. When fetching large files, memory errors can be encountered so here we have worked around the module using an alternative method for transferring our files.
To run commands on a server or a group of servers within the
/etc/ansible/hosts file, run any of the below
ansible -m ping hostname ansible -m ping 18.104.22.168 ansible -a "sudo ls /" hostname ansible -a "sudo ls /" 22.214.171.124 ansible -a "free -h" hostname ansible -a "free -h" 126.96.36.199