Ver Fonte

update cloud-backups role

Blaine Story há 1 ano atrás
pai
commit
e9f0babbaf

+ 1 - 0
roles/cloud-backups/defaults/main.yml

@@ -1,2 +1,3 @@
 ---
 backups_ignore: '::' # string that wouldn't be in a reasonable docker volume mapping
+backup_tmp_dir: '/opt/backups'

+ 12 - 2
roles/cloud-backups/tasks/main.yml

@@ -29,9 +29,9 @@
     group: root
     mode: '0750'
 
-- name: Create /opt/backups directory
+- name: Create {{ backup_tmp_dir }}  directory
   file:
-    path: /opt/backups
+    path: "{{ backup_tmp_dir }}"
     state: directory
     owner: root
     group: root
@@ -57,3 +57,13 @@
     user: root
     job: "/usr/local/bin/backup-to-b2.sh"
     state: present
+
+- name: Create cronjob to auto-delete local backup data
+  cron:
+    name: "weekly local backup purges"
+    weekday: '0'
+    minute: '10'
+    hour: '3'
+    user: root
+    job: "find {{ backup_tmp_dir }} -type f -mtime +15 -delete"
+    state: present

+ 2 - 2
roles/cloud-backups/templates/backup-to-b2.sh.j2

@@ -14,7 +14,7 @@ systemctl stop {{ container.name }}
 echo "Service '{{ container.name }}' stopped." | ts >> "$LOG_FILE"
 echo "Starting backup of '{{ container.name }}:{{ volume | regex_replace(':.*') }}'." | ts >> "$LOG_FILE"
 
-tar -czf /opt/backups/$(date +%Y-%m-%d)_{{ ansible_hostname }}_{{ container.name}}_{{ volume | regex_replace(':.*') | basename }}.tar.gz {{ volume | regex_replace(':.*') }}/
+tar -czf {{ backup_tmp_dir }}/$(date +%Y-%m-%d)_{{ ansible_hostname }}_{{ container.name}}_{{ volume | regex_replace(':.*') | basename }}.tar.gz {{ volume | regex_replace(':.*') }}/
 
 if [[ $? > 0 ]]; then
   curl \
@@ -35,7 +35,7 @@ echo "Service '{{ container.name }}' started." | ts >> "$LOG_FILE"
 {% endfor %}
 
 echo "Backing up tarballs to B2..." | ts >> "$LOG_FILE"
-/usr/bin/rclone copy /opt/backups/ b2-container-data:current/{{ ansible_hostname }} \
+/usr/bin/rclone copy {{ backup_tmp_dir }} b2-container-data:{{ ansible_hostname }} \
     --fast-list \
     --log-file="$LOG_FILE" -v
 echo "Finished backing up tarballs to B2." | ts >> "$LOG_FILE"