From b8c14b1740ac268eb6b4ff56c856ddba1ccfdc2b Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Mon, 27 Jan 2020 16:53:28 +0100 Subject: backup.sh: Only purge when doing full backups Signed-off-by: Florian Pritz --- backup.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backup.sh b/backup.sh index a674819..38e2a89 100755 --- a/backup.sh +++ b/backup.sh @@ -137,8 +137,13 @@ backup_borg() { fi borg create "${options[@]}" "$dst::$backup_prefix-$(date "+%Y%m%d-%H%M%S")" "${src[@]}" - borg prune --prefix "backup-" --keep-within 7d --keep-daily 7 --keep-weekly 12 --keep-monthly 6 --keep-yearly 0 -v "$dst" - borg prune --prefix "partial-" --keep-within 7d --keep-daily 7 --keep-weekly 12 --keep-monthly 6 --keep-yearly 0 -v "$dst" + + # Only purge when doing full backups. Increases partial backup speed and + # ensure that we have at least one recent full backup when we purge. + if [[ $backup_prefix == 'backup-' ]]; then + borg prune --prefix "backup-" --keep-within 7d --keep-daily 7 --keep-weekly 12 --keep-monthly 6 --keep-yearly 0 -v "$dst" + borg prune --prefix "partial-" --keep-within 7d --keep-daily 7 --keep-weekly 12 --keep-monthly 6 --keep-yearly 0 -v "$dst" + fi } ### support functions below ### -- cgit v1.2.3-24-g4f1b