Rdiff-backup: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Linopolus (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Linopolus (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:
* Automatisch per [[Cron]]: Die externe Festplatte muss immer an Computer und Strom angeschlossen sein, was Sicherheitsnachteile bringt, wenn bespielsbeise durch einen Blitz Überspannung fließt oder aus Versehen die Daten überschrieben werden(alles schon passiert…)
* Automatisch per [[Cron]]: Die externe Festplatte muss immer an Computer und Strom angeschlossen sein, was Sicherheitsnachteile bringt, wenn bespielsbeise durch einen Blitz Überspannung fließt oder aus Versehen die Daten überschrieben werden(alles schon passiert…)
* Automatisch wenn die Festplatte an den Computer angeschlossen wird: Es kann nervig sein, wenn man eigentlich Daten wiederherstellen wollte aber erstmal viel Last durch das Backup erzeugt wird.
* Automatisch wenn die Festplatte an den Computer angeschlossen wird: Es kann nervig sein, wenn man eigentlich Daten wiederherstellen wollte aber erstmal viel Last durch das Backup erzeugt wird.
* Manuell: Es wird vergessen oder herrausgeschoben(ich spreche aus eigener Erfahrung…)
* Manuell: Es wird vergessen oder herausgeschoben(ich spreche aus eigener Erfahrung…)
 
Wie es gemacht wird, ist vorerst egal, die Anleitung geht aber davon aus, dass die Festplatte angesteckt ist und über /dev/sdb1 gemounted werden kann.
 
Zuerst kommt also die Shebang:
 
#!/bin/sh
 
Dann wird ein Array mit den Quellordnern und Dateien erzeugt:
 
SRC=( /home /etc )
 
Und die Festplatte in einen temporären Ordner gemounted:
 
BACKUPDIR=$(mktemp -d)
mount /dev/sdb1 ${BACKUPDIR}
cd ${BACKUPDIR}
 
Und das Backup angestoßen:
 
for i in ${SRC[@]}; do
  rdiff-backup -b $i ./rdiff-backup$i
end
 
Und schlussendlich muss die Festplatte wieder entfernt werden:
 
umount ${BACKUPDIR}
 
Das Verzeichnis rdiff-backup auf der Festplatte muss dabei schon existieren!
 
Nochmal das komplette Skript:
 
#!/bin/sh
SRC=( /home /etc )            # bitte anpassen!
BACKUPDIR=$(mktemp -d)
mount /dev/sdb1 ${BACKUPDIR}  # bitte anpassen!
cd ${BACKUPDIR}
for i in ${SRC[@]}; do
  rdiff-backup -b $i ./rdiff-backup$i
end
umount ${BACKUPDIR}

Version vom 1. Januar 2010, 20:40 Uhr

„Rdiff-backup“ wurde von Linopolus 12:10, 1. Jan. 2010 (CET) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Linopolus 12:10, 1. Jan. 2010 (CET) bitte, bevor du den Artikel bearbeitest.


rdiff-backup ist, wie der Name sagt, ein Backupprogramm. Es basiert auf den Bibliotheken von rsync und legt für geänderte Dateien nur diffs(Dateien mit Unterschieden) zur alten Version in ein gesondertes Verzeichnis ab. Dadurch hat man bei einem Platzbedarf, der den des Originals, im Vergleich mit anderen Backupprogrammen, nur wenig übersteigt und dennoch viele Revisionen.

Installation

rdiff-backup ist im Community Repository vorhanden und kann daher über

pacman -Sy rdiff-backup

installiert werden.

Backupskript

rdiff-backup hat keine Konfiguration. Es ist aber klug ein Shellscript zu machen, in dem der ganze Backupvorgang komplett festgehalten ist, statt alle paar Tage die vielen Befehle manuell einzugeben.

Daher wird jetzt ein Skript für diesen Zweck erstellt. Zuerst muss man sich im Klaren sein: Was will ich sichern, wohin, wie oft und welchen Platz brauche ich. Es ist klug, auf jeden Fall /home und /etc zu sichern, hat man Datenbanken oder einen Webserver, können auch /srv oder /var von Belang sein. Es sollte mindestens einmal im Monat gesichert werden, aber ich denke, dass muss jeder selber wissen. Mit rdiff-backup macht es keinen Sinn, auf read-only Datenträger wie DVDs zu sichern, dann sind so gut wie alle Vorteile, die man mit rdiff-backup hat, weg. Als Normalnutzer wird man also sicherlich auf eine (externe) Festplatte sichern. Diese sollte auf jeden Fall größer sein als die Quellordner und -dateien, wie viel größer hängt davon ab, wie oft sich Dateien ändern.

Bevor begonnen werden kann, muss noch eins überlegt werden: Wie will ich das Backup anstoßen.

  • Automatisch per Cron: Die externe Festplatte muss immer an Computer und Strom angeschlossen sein, was Sicherheitsnachteile bringt, wenn bespielsbeise durch einen Blitz Überspannung fließt oder aus Versehen die Daten überschrieben werden(alles schon passiert…)
  • Automatisch wenn die Festplatte an den Computer angeschlossen wird: Es kann nervig sein, wenn man eigentlich Daten wiederherstellen wollte aber erstmal viel Last durch das Backup erzeugt wird.
  • Manuell: Es wird vergessen oder herausgeschoben(ich spreche aus eigener Erfahrung…)

Wie es gemacht wird, ist vorerst egal, die Anleitung geht aber davon aus, dass die Festplatte angesteckt ist und über /dev/sdb1 gemounted werden kann.

Zuerst kommt also die Shebang:

#!/bin/sh

Dann wird ein Array mit den Quellordnern und Dateien erzeugt:

SRC=( /home /etc )

Und die Festplatte in einen temporären Ordner gemounted:

BACKUPDIR=$(mktemp -d)
mount /dev/sdb1 ${BACKUPDIR}
cd ${BACKUPDIR}

Und das Backup angestoßen:

for i in ${SRC[@]}; do
  rdiff-backup -b $i ./rdiff-backup$i
end

Und schlussendlich muss die Festplatte wieder entfernt werden:

umount ${BACKUPDIR}

Das Verzeichnis rdiff-backup auf der Festplatte muss dabei schon existieren!

Nochmal das komplette Skript:

#!/bin/sh
SRC=( /home /etc )             # bitte anpassen!
BACKUPDIR=$(mktemp -d)
mount /dev/sdb1 ${BACKUPDIR}   # bitte anpassen!
cd ${BACKUPDIR}
for i in ${SRC[@]}; do
  rdiff-backup -b $i ./rdiff-backup$i
end
umount ${BACKUPDIR}