linux:systembackup
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:systembackup [2012/04/22 15:50] – patrickbeck | linux:systembackup [2014/03/16 19:44] (aktuell) – patrickbeck | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ======Systembackup====== | ||
+ | Als Backup für mein Notebook setze ich eine externe Festplatte mit USB 2.0-Anbindung ein. Bei der Festplatte handelt es sich um eine Western Digital Caviar Green 640GB WD640. Das Gehäuse ist ein RaidSonic IB-351U-B ICY in Schwarz. Das Backup beinhaltet zum einen meine persönlichen Daten aus dem / | ||
+ | |||
+ | =====Festplattenvorbereitung===== | ||
+ | |||
+ | Da ich das Dateisystem ext3 bereits auf meinem Notebook einsetze habe ich mich dafür entschieden auch die Festplatte mit diesem Dateisystem zu bestücken. Folgende Schritte sind dazu notwendig. | ||
+ | |||
+ | ====Festplatte partitionieren==== | ||
+ | |||
+ | Mit sudo cfdisk / | ||
+ | |||
+ | ====ext3-Dateisystem einrichten==== | ||
+ | |||
+ | Mit folgendem Kommando wird das ext3-Dateisystem eingerichtet: | ||
+ | |||
+ | mkfs -t ext3 / | ||
+ | |||
+ | ====Festplatte immer im gleichen Verzeichnis einbinden==== | ||
+ | |||
+ | Dazu einfach folgenden Befehl ausführen: | ||
+ | |||
+ | sudo tune2fs -L backupdisk /dev/sdb1 | ||
+ | |||
+ | Dadurch bekommt die Festplatte ein Label gesetzt dieses udev verwendet um den Mountpunkt bzw. Name des Verzeichnises zu definieren. | ||
+ | |||
+ | |||
+ | =====Backupsystem einrichten===== | ||
+ | |||
+ | ====Paketlisten backup==== | ||
+ | |||
+ | Mit dem nachfolgenden Kommando kann eine Liste aller Pakete im System erzeugt werden, diese dann in der Datei packages.list gespeichert wird. | ||
+ | |||
+ | dpkg --get-selections | awk ' | ||
+ | |||
+ | Um dies zu automatisieren nutze ich folgendes backup_packages.sh-Script. Dieses Script speichert im aktuellen Verzeichnis eine Datei mit dem namen packages.list. | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | #Erstellung der Paketliste und abspeichern | ||
+ | dpkg --get-selections | awk ' | ||
+ | </ | ||
+ | |||
+ | rsnapshot ruft dieses Script auf (siehe unten) und führt es in einem temporären Verzeichnis aus. Anschließend wird die erstellte Liste nach / | ||
+ | |||
+ | Wichtig ist das diese Datei ausschließlich für root schreibbar sein darf. Da rsnaphot mit root-rechten gestartet wird, könnte eine andere Konfiguration zu Problemen führen, da eine Dritte-Person so Befehle als root ausführen könnte. | ||
+ | |||
+ | ====rnsapshot einrichten==== | ||
+ | |||
+ | Im Grunde erstelle ich dann auf der Festplatte nur noch zwei Verzeichnisse. | ||
+ | |||
+ | mkdir / | ||
+ | mkdir / | ||
+ | |||
+ | und ersetze unter / | ||
+ | {{: | ||
+ | |||
+ | Dabei ist vor allem die letzte Zeile interessant. rsnapshot führt das oben erstellte Script aus und speichert die Ausgabe in das zuvor auf der Festplatte erstellte Verzeichnis " | ||
+ | |||
+ | =====Backup durchführen===== | ||
+ | |||
+ | Da die Festplatte nicht dauerhaft an meinem Notebook angeschlossen ist, werden alle Backups manuell ausgeführt. Da auch die Paketliste automatisch mit gesichert wird reicht es, eines der folgenden drei Kommandos auszuführen (mit sudo unter Ubuntu) | ||
+ | |||
+ | sudo rsnapshot daily | ||
+ | sudo rsnapshot weekly | ||
+ | sudo rsnapshot monthly | ||
+ | |||
+ | Die Namen daily, weekly, monthly haben keine Bedeutung für das Backupintervall. Sie sind willkürlich. Erst durch einen Cronjob würden diese automatisch erstellt werden. Für die Organisation der Backups ist folgendes anzumerken. Das letzte Backup vom daily-Intervall bildet das erste Backup vom weekly-Intervall, | ||
+ | |||
+ | |||
+ | =====Rückspielen vom Backup===== | ||
+ | |||
+ | ====Dateien==== | ||
+ | |||
+ | Die Dateien werden von hand per cp kopiert. Für Config-Dateien in /etc/ empfiehlt es sich diese einzeln und nicht komplett zu kopieren, so schließt man mögliche Fehler direkt aus. | ||
+ | |||
+ | ====Paketliste==== | ||
+ | |||
+ | Mit folgendem Kommando können aus der Datei packages.list die Pakete wieder automatisch installiert werden. | ||
+ | |||
+ | xargs -a " | ||
+ | |||
+ | Tipp: Zuvor alle nicht benötigten Pakete bzw. deren Zeilen händisch löschen. |