From 1be64b6fd6fcf05c650d5e12299834019923bce6 Mon Sep 17 00:00:00 2001 From: jem Date: Sat, 12 Dec 2020 19:02:41 +0100 Subject: [PATCH] retention added --- infrastrucure/docker/image/resources/backup.sh | 9 +++++++-- infrastrucure/docker/image/resources/restore.sh | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/infrastrucure/docker/image/resources/backup.sh b/infrastrucure/docker/image/resources/backup.sh index f3968ab..d5b070b 100755 --- a/infrastrucure/docker/image/resources/backup.sh +++ b/infrastrucure/docker/image/resources/backup.sh @@ -10,15 +10,20 @@ function main() { file_env POSTGRES_PASSWORD file_env POSTGRES_USER - file_env RESTIC_PASSWORD_FILE + file_env RESTIC_PASSWORD + file_env RESTIC_DAYS_TO_KEEP 14 # backup database dump - pg_dump -d ${POSTGRES_DB} -h ${POSTGRES_SERVICE} -p ${POSTGRES_PORT} \ + pg_dump -d ${POSTGRES_DB} -h ${POSTGRES_SERVICE} -p ${POSTGRES_PORT} \ -U ${POSTGRES_USER_FILE} --no-password --serializable-deferrable | \ restic -r ${RESTIC_REPOSITORY}/db backup --stdin + restic -r ${RESTIC_REPOSITORY}/db forget --keep-last 1 --keep-within ${RESTIC_DAYS_TO_KEEP}d --prune + # backup nextcloud filesystem cd /var/backups/ && restic -r ${RESTIC_REPOSITORY}/files backup . + + restic -r ${RESTIC_REPOSITORY}/files forget --keep-last 1 --keep-within ${RESTIC_DAYS_TO_KEEP}d --prune } source /usr/local/lib/functions.sh diff --git a/infrastrucure/docker/image/resources/restore.sh b/infrastrucure/docker/image/resources/restore.sh index 04efdc7..2a9caa1 100755 --- a/infrastrucure/docker/image/resources/restore.sh +++ b/infrastrucure/docker/image/resources/restore.sh @@ -1,5 +1,6 @@ #!/bin/bash +set -o pipefail function main() { file_env AWS_ACCESS_KEY_ID @@ -9,11 +10,11 @@ function main() { file_env POSTGRES_PASSWORD file_env POSTGRES_USER - file_env RESTIC_PASSWORD_FILE + file_env RESTIC_PASSWORD # files rm -rf /var/backups/* - restic -r $RESTIC_REPOSITORY/files restore latest --target /var/backup/ + restic -r $RESTIC_REPOSITORY/files restore latest --target /var/backups/ # db psql -d template1 -h ${POSTGRES_SERVICE} -p ${POSTGRES_PORT} -U ${POSTGRES_USER} \