Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:systembackup

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
linux:systembackup [2012/04/22 15:50] patrickbecklinux:systembackup [2014/03/16 18:08] – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +<texit info>
 +author=Patrick Beck
 +title=Systembackup
 +</texit>
  
 +======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 /home-Verzeichnis, das /etc-Verzeichnis, sowie eine Paketliste von apt bzw. dpkg, womit im Grunde das System wieder komplett hergestellt werden kann. Im folgenden soll die komplette Vorbereitung der Festplatte, des Backupssystems, des Backups selbst, sowie das Rückspielen des Backups erläutert werden.
 +
 +=====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 /dev/*platte* cfdisk im interaktiven Modus starten (Dateisystem darf nicht eingebunden sein). Anschließend eine neue Partionierung vornehmen und mit einem Linux-Dateisystem (83) markieren. In meinem Fall nimmt eine primäre Partition den kompletten Speicher von 640 GB in Anspruch.
 +
 +====ext3-Dateisystem einrichten====
 +
 +Mit folgendem Kommando wird das ext3-Dateisystem eingerichtet:
 +
 +  mkfs -t ext3 /dev/*plattenpartition*
 +
 +====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 '!/deinstall|purge|hold/ {print $1}' > packages.list 
 +
 +Um dies zu automatisieren nutze ich folgendes backup_packages.sh-Script. Dieses Script speichert im aktuellen Verzeichnis eine Datei mit dem namen packages.list.
 +
 +<code>
 +#!/bin/sh
 +#Erstellung der Paketliste und abspeichern
 +dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > packages.list 
 +</code> 
 +
 +rsnapshot ruft dieses Script auf (siehe unten) und führt es in einem temporären Verzeichnis aus. Anschließend wird die erstellte Liste nach /media/backupdisk/backups/paketliste kopiert.
 +
 +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 /media/backupdisk/backups/
 +  mkdir /media/backupdisk/backups/paketliste
 +
 +und ersetze unter /etc/rsnapshot.conf die Datei mit folgender 
 +{{:linux:rsnapshot.conf|}}
 +
 +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 "paketliste".
 +
 +=====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, selbiges gilt bei monthly, etc.
 +
 +
 +=====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 "packages.list" sudo apt-get install 
 +
 +Tipp: Zuvor alle nicht benötigten Pakete bzw. deren Zeilen händisch löschen.
linux/systembackup.txt · Zuletzt geändert: 2014/03/16 19:44 von patrickbeck