playbooks/mongo backup.yml

26 lines
849 B
YAML

- name: Backup MongoDB Databases
hosts: all
become: yes
tasks:
- name: Backup MongoDB databases
command: >
docker exec {{ mongodb_container }} mongodump
--db {{ item }}
--username {{ mongodb_user }}
--password {{ mongodb_password }}
--authenticationDatabase admin
--out {{ mongo_backup_dir }}
with_items: "{{ db_names }}"
- name: Get the current weekday
shell: date +%a
register: weekday
changed_when: false
- name: Archive each directory separately
command: >
tar -czf "{{ backup_dir }}/{{ item }}-{{ weekday.stdout }}.tar.gz" -C "{{ backup_dir }}" "{{ item }}"
loop: "{{ db_names }}"
- name: Delete backed-up directories
file:
path: "{{ backup_dir }}/{{ item }}"
state: absent
loop: "{{ db_names }}"