36 lines
1.3 KiB
YAML
36 lines
1.3 KiB
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: Archive each directory separately
|
|
command: >
|
|
tar -czf "{{ backup_dir }}/{{server}}-{{mongodb_container}}-{{ item }}.tar.gz" -C "{{ backup_dir }}" "{{ item }}"
|
|
loop: "{{ db_names }}"
|
|
- name: Delete backed-up directories
|
|
file:
|
|
path: "{{ backup_dir }}/{{ item }}"
|
|
state: absent
|
|
loop: "{{ db_names }}"
|
|
- name: Get the current weekday
|
|
shell: date +%a
|
|
register: weekday
|
|
changed_when: false
|
|
- name: send them to s3
|
|
command: >
|
|
s3cmd put {{ backup_dir }}/{{server}}-{{mongodb_container}}-{{ item }}.tar.gz
|
|
{{ s3_folder }}/{{ weekday.stdout }}/{{server}}-{{mongodb_container}}-{{ item }}.tar.gz
|
|
with_items: "{{ db_names }}"
|
|
- name: Delete backed-up files
|
|
file:
|
|
path: "{{ backup_dir }}/{{server}}-{{mongodb_container}}-{{ item }}.tar.gz"
|
|
state: absent
|
|
loop: "{{ db_names }}" |