Schnelles Backup des Ubuntu Systems mit rsync¶
Will man nicht, dass Dateien bzw. Ubuntu bei der nächsten Dusselei den digitalen Tod sterben, sollte man möglichst oft Backups anfertigen. Dies sollte möglichst schnell ablaufen, damit die Hürde regelmäßig Backups anzufertigen möglichst gering ist.
Warum ist rsync so schnell? Ganz einfach, es prüft ob sich eine Datei verändert hat, nur dann wird sie kopiert. Es werden dabei die Rechte erhalten, genauso wie mit tar. Darüber hinaus arbeitet es mit Hardlinks. Der Vorteil von Hardlinks ist, dass das Erstellen in Millisekunden erfolgt, während das Kopieren Stunden dauern kann. Außerdem brauchen sie keinen weiteren Speicherplatz, es gibt aber für den Nutzer keinen Unterschied zur Orginaldatei. Ein Hardlink zeigt auf den Bereich in dem die Datei gespeichert ist, so kann auf Dateiinhalt von unterschiedlichen Dateinamen aus zugegriffen werden und verändert werden. Hardlinks funktionieren nur innerhalb einer Partition.
Hier zwei Beispiele, wie aus dem laufenden System eine Sicherung erstellt wird.
1. Auf eine externe Festplatte, wird das laufende Ubuntu System, gespiegelt.
1 | sudo rsync --delete -avHAXx --exclude=/dev/pts/* --exclude='/media/*/**' --exclude='/proc/**' --exclude='/sys/**' --exclude='/tmp/**' / /externeHDD/backup |
Bei jedem weiteren Ausführen wird das Backup nur aktualisiert und läuft daher wesentlich schneller ab.
2. Das zweite Beispiel spiegelt das laufende System inkrementell auf eine externe Festplatte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #Ordnermanagement rsync-5 ist Ältestes sudo rm -r /externeHDD/backup/rsync-5 mkdir /externeHDD/backup/rsync-0 mkdir /externeHDD/backup/rsync-1 mkdir /externeHDD/backup/rsync-2 mkdir /externeHDD/backup/rsync-3 mkdir /externeHDD/backup/rsync-4 mkdir /externeHDD/backup/rsync-5 sudo mv /externeHDD/backup/rsync-4/* /externeHDD/backup/rsync-5/ sudo mv /externeHDD/backup/rsync-3/* /externeHDD/backup/rsync-4/ sudo mv /externeHDD/backup/rsync-2/* /externeHDD/backup/rsync-3/ sudo mv /externeHDD/backup/rsync-1/* /externeHDD/backup/rsync-2/ sudo mv /externeHDD/backup/rsync-0/* /externeHDD/backup/rsync-1/ sudo rsync --delete -avHAXx --exclude=/backup/ --exclude=/dev/pts/* --exclude='/media/*/**' --exclude='/proc/**' --exclude='/sys/**' --exclude='/tmp/**' --link-dest=/externeHDD/backup/rsync-1 / /externeHDD/backup/rsync-0 |
Hierbei werden schon im Backup bestehende Dateien mit Hardlinks gesichert, nur neue Dateien werden kopiert. Beim ersten mal Ausführen müssen alle Dateien übertragen werden.
Nun kann man mit einem Livestick Live-USB den seinen elektrischen Knecht wieder auf den letzten Stand setzen. So kopiert man die Dateien von der externen Festplatte mit:
1 | sudo rsync -av /externeHDD/backup/rsync-0 /Linuxpartition/Sicherung |
auf die Systemplatte zurück. Anschließend kann man die Dateien aus der Sicherung mit
1 | gksudo nautilus oder caja oder pcmanfm usw |
wieder ins Systemverzeichnis / root verschieben. Und von der Sicherung starten.
Hinweis:
der Parameter --delete löscht im Ziel alle in der Quelle nicht vorhandenen Ordner und Dateien.
Möchte man Windows NTFS sichern, bedient man sich eines Kniffs:
1 2 | rsync -av --delete --size-only --exclude=/"System Volume Information" --exclude=/"pagefile.sys" /win/ /win_bu/ #anstatt --size-only kann auch --modify-window=1 verwendet werden |
Man kann Windows auch auf ext4 kopieren und nach dem Zurückkopieren ist es wieder lauffähig.
Es gibt noch zahlreiche Möglichkeiten, wie z.B. die Automatisierung durch Cron. Oder Raid 1, das sind 2 HDDs mit identischem Inhalt.
Backups sind nur dann wirklich sicher, wenn sie an verschiedenen Orten aufbewahrt werden und wenn sie behutsam und gewissenhaft durchgeführt werden. Befindet sich das Backup im selben Raum, dann sieht es schlecht aus, sollte der Raum brennen. Ist es im nächsten Gebäude, dann könnte eine Flut oder Wirbelsturm den Plan zunichte machen. Man könnte auch Verschlüsseln und auf einem Server Aufbewahren. Möchte man seine Daten auch vor dem Weltuntergang bewahren können, wäre dies eine Option: https://de.wikipedia.org/wiki/Voyager_Golden_Record
Weiterführendes:
http://www.321tux.de/2011/01/komfortables-backup-skript-rsync/
1 2 3
man rsync man cp cp -al
https://wiki.ubuntuusers.de/LUKS/Containerdatei/ um ein Laufwerk zu verschlüsseln oder 7zip, bzw. PeaZip