feat: make backup role universal by passing paths as variables

This commit is contained in:
2026-07-09 16:42:10 +02:00
parent 8d96529d8f
commit c4c8d6de7f
2 changed files with 26 additions and 5 deletions
+14
View File
@@ -0,0 +1,14 @@
# ansible/roles/backup/defaults/main.yml
---
## Directories to include in the backup
backup_include_paths:
- /etc
- /opt/docker
## Directories to exclude from the backup
backup_exclude_paths: [] ## Nothing to exclude
## Restic retention policy
backup_retention_daily: 7
backup_retention_weekly: 4
backup_retention_monthly: 6
+12 -5
View File
@@ -11,13 +11,20 @@ set -e
echo "Starting Restic Backup at $(date)"
## Run the backup (docker volumes & config files)
## Run the backup using paths and exclusions defined in group_vars
restic backup \
/etc \
/opt/docker-data \
--exclude /opt/docker-data/tmp \
{% for path in backup_include_paths %}
"{{ path }}" \
{% endfor %}
{% for path in backup_exclude_paths %}
--exclude "{{ path }}" \
{% endfor %}
--cleanup-cache
restic forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
restic forget \
--prune \
--keep-daily {{ backup_retention_daily }} \
--keep-weekly {{ backup_retention_weekly }} \
--keep-monthly {{ backup_retention_monthly }}
echo "Restic backup completed at $(date)"