summaryrefslogtreecommitdiffstats
path: root/roles/backup
diff options
context:
space:
mode:
Diffstat (limited to 'roles/backup')
-rw-r--r--roles/backup/tasks/main.yml12
-rw-r--r--roles/backup/tasks/openrc.yml4
-rw-r--r--roles/backup/templates/restore.sh.j22
3 files changed, 16 insertions, 2 deletions
diff --git a/roles/backup/tasks/main.yml b/roles/backup/tasks/main.yml
index d51d3562..e21b8aaa 100644
--- a/roles/backup/tasks/main.yml
+++ b/roles/backup/tasks/main.yml
@@ -50,6 +50,18 @@
ansible.builtin.include_tasks: "openrc.yml"
when: ansible_facts['service_mgr'] == "openrc"
+- name: "Create restic restore cache directory"
+ become: true
+ ansible.builtin.file:
+ path: "/var/cache/{{ backup_name }}-restore"
+ state: "directory"
+ owner: "root"
+ group: "root"
+ mode: "0700"
+ tags:
+ - "never"
+ - "restore"
+
- name: "Deploy restore script"
become: true
ansible.builtin.template:
diff --git a/roles/backup/tasks/openrc.yml b/roles/backup/tasks/openrc.yml
index 12ea9686..51f8aa54 100644
--- a/roles/backup/tasks/openrc.yml
+++ b/roles/backup/tasks/openrc.yml
@@ -13,7 +13,9 @@
ansible.builtin.blockinfile:
path: "/etc/crontabs/root"
marker: "# {mark} ANSIBLE BACKUP {{ backup_name }} CRON"
- block: "{{ backup_cron_schedule }} /usr/local/bin/{{ backup_name }}-backup"
+ block: >-
+ {{ backup_cron_schedule }} /usr/local/bin/{{ backup_name }}-backup
+ >> /var/log/{{ backup_name }}-backup.log 2>&1
create: true
owner: "root"
group: "root"
diff --git a/roles/backup/templates/restore.sh.j2 b/roles/backup/templates/restore.sh.j2
index 35428693..44334138 100644
--- a/roles/backup/templates/restore.sh.j2
+++ b/roles/backup/templates/restore.sh.j2
@@ -20,7 +20,7 @@ export AWS_SECRET_ACCESS_KEY="${BACKUP_SECRET_ACCESS_KEY}"
# --target /, as a guardrail against unbounded deletion, so scope it to
# exactly the paths this job backs up.
restic restore "{{ backup_restore_id }}" \
- --cache-dir "/var/cache/{{ backup_name }}-backup" \
+ --cache-dir "/var/cache/{{ backup_name }}-restore" \
--target "{{ restore_target }}" \
--delete \
--include {{ backup_paths | map('quote') | join(' --include ') }}