ubuntuusers.de

Borg Backup: einzelne Backups taggen um sie vor dem Löschen zu schützen

Status: Gelöst | Ubuntu-Version: Xubuntu 18.04 (Bionic Beaver)
Antworten |

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13208

Ich nutze im Moment Back In Time und überlege zu BorgBackup zu wechseln. Hauptvorteile dabei wären die bessere Deduplizierung von Borg und, dass man Daten von mehreren Rechnern in einem Repository speichern kann. (Was allerdings nur gut zu funktionieren scheint, wenn man nicht ständig zwischen den Rechnern wechselt.)

BackInTime hat dieses Feature, dass man Backups im Nachhinein mit einem zusätzlichen Namen benennen kann und sie damit dann auch schreibgeschützt sind. Die einzige Möglichkeit das bei Borg zu machen, die ich bisher gefunden habe, ist über das Namensschema der Archive: Man benennt ein Archiv mittels borg rename um und arbeitet immer mit einem Präfix für borg prune, der niemals die umbenannten Archive erfasst. Gibt es noch einen anderen Weg?

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Du hast die Antwort ja schon selbst gegeben: -prefix (oder --glob-archives). Eine andere Möglichkeit kenne ich auch nicht. Warum willst Du denn bestimmte Archive schützen? Ich persönlich finde es vorteilhaft ohne manuellen Eingriff einfach (und häufig) Backups machen zu können und trotzdem mit Hilfe von "prune" Struktur in Anzahl und Alter der Sicherungen zu bringen.

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13208

Thomas_Do schrieb:

Du hast die Antwort ja schon selbst gegeben: -prefix (oder --glob-archives). Eine andere Möglichkeit kenne ich auch nicht.

Hätte ja sein können, dass ich etwas übersehen habe. Danke für die Bestätigung!

Warum willst Du denn bestimmte Archive schützen?

Es gibt einzelne Stände, die ich gerne länger aufheben würde, z.B. vor einem Release-Upgrade oder einer größeren Aufräum- oder Umbauaktion. Kommt nicht besonders oft vor, aber ich finde das ganz praktisch, wenn man einzelne Backups auszeichnen kann.

Ich persönlich finde es vorteilhaft ohne manuellen Eingriff einfach (und häufig) Backups machen zu können und trotzdem mit Hilfe von "prune" Struktur in Anzahl und Alter der Sicherungen zu bringen.

Klar, das ist die Hauptverwendung. Tatsächlich sind die Deduplizierung und borg prune, das man wunderbar auf der Kommandozeile oder in einem Skript nutzen und konfigurieren kann, die Hauptgründe, warum ich den Wechsel erwäge. BackInTime hat ebenfalls so ein Löschschema, bei dem man Backups ausdünnen kann. Aber man braucht immer eine graphische Oberfläche um das zu konfigurieren und so, wie es arbeitet (im Wesentlichen mit rsync --link-dest=DIR ...), kann es keinen Speicherplatz bei verschobenen Dateien sparen.

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13208

Ich habe es jetzt so aufgesetzt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh

# Borg backup driver
# Requires a repository name in file ~/.config/borg-repo

[ -z "$DEBUG" ] || set -x

set -e

repo=$([ -h ~/.config/borg-repo ] && realpath -e ~/.config/borg-repo)

[ -d "$repo" ]

if [ -n "$*" ]; then
  # Create a labelled archive
  label="label-$*"
else
  # Default case: name with timestamp
  label='regular-{now}'
fi

cd
borg create --progress --stats --info \
  --exclude-caches \
  --exclude .cache \
  "$repo::{hostname}-$label" \
  .

borg prune --list --stats --info \
  --prefix '{hostname}-regular-' \
  --keep-within 48H \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 12 \
  --keep-yearly 3 \
  "$repo"

sync -f "$repo"

Funktioniert seit einiger Zeit prima. Thema gelöst.

Antworten |