feat: make backup role universal by passing paths as variables
This commit is contained in:
@@ -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
|
||||||
@@ -11,13 +11,20 @@ set -e
|
|||||||
|
|
||||||
echo "Starting Restic Backup at $(date)"
|
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 \
|
restic backup \
|
||||||
/etc \
|
{% for path in backup_include_paths %}
|
||||||
/opt/docker-data \
|
"{{ path }}" \
|
||||||
--exclude /opt/docker-data/tmp \
|
{% endfor %}
|
||||||
|
{% for path in backup_exclude_paths %}
|
||||||
|
--exclude "{{ path }}" \
|
||||||
|
{% endfor %}
|
||||||
--cleanup-cache
|
--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)"
|
echo "Restic backup completed at $(date)"
|
||||||
|
|||||||
Reference in New Issue
Block a user