infrastructure/ansible/misc-backup.yaml

51 lines
1.3 KiB
YAML

---
- hosts: misc
vars:
start_time: "{{ ansible_date_time.iso8601_basic_short }}"
tasks:
- name: Stop docker stuff
become: yes
docker_compose:
project_src: /etc/pbri/docker/web
state: present
stopped: yes
- name: Create backups in /etc/pbri/backups
become: yes
docker_container:
container_default_behavior: no_defaults
name: bacman
image: busybox
volumes:
- "{{ item }}:/data"
- "/etc/pbri/backups/{{ start_time }}:/backup"
command: "cp -r /data /backup/{{ item }}"
detach: no
cleanup: yes
loop:
- codi_database
- codi_uploads
- gitlab_data
- gitlab_logs
- gitlab_config
- name: Make tar
become: yes
shell:
cmd: "tar -czvf ../{{ start_time }}.tar.gz *"
chdir: "/etc/pbri/backups/{{ start_time }}"
- name: Download tar
become: yes
fetch:
src: /etc/pbri/backups/{{ start_time }}.tar.gz
dest: ../backups
- name: Remove backups folder
become: yes
file:
path: /etc/pbri/backups
state: absent
- name: Restart docker stuff
become: yes
docker_compose:
project_src: /etc/pbri/docker/web
state: present
restarted: yes