Entwicklungsumgebung/Backup

Aus Delixs
Version vom 17. Juni 2009, 15:44 Uhr von Schoffer (Diskussion | Beiträge) (dh-make-perl --build --cpan lchown)
Zur Navigation springen Zur Suche springen
Uberarbeiten Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben).

Regelmäßige Datensicherung in mehreren Generationen

Für die Datensicherung in mehreren Generationen bieten sich Tools an, die auf rsync basieren. Durch das Setzen von Hardlinks anstelle von Dateikopien werden damit beliebig viele Backup-Generationen der Dateien platzsparend möglich - nur begrenzt durch den zur Verfügung stehenden Speicherplatz.

Die Sicherung erfolgt in ein frei zu wählendes Verzeichnis des Servers - jedes beschreibare Medium das sich mounten lässt kann also als Speicherort verwendet werden u.a. USB-Festplatten, interne Festplatten oder Freigaben auf anderen Rechnern (z.B. ein Backupserver.

Rsnapshot basiert u.a. auf rsync und wird von Debian unterstützt.

Installation

Die Installation erfolgt mit

aptitude install rsnapshot rsync

Ebenfalls benötigt wird das Modul liblchown-perl, das aktuell nicht in der stable-Version von Debian enthalten ist.

Das Paket kann hier heruntergeladen werden und wird installiert mit

dpkg -i liblchown-perl_1.00-1_i386.deb 

oder:

aptitude install dh-make-perl
dh-make-perl --build --cpan lchown
dpkg -i liblchown-perl*.deb


Wenn die Datei mit Lynx direkt auf dem Server heruntergeladen wird, kann auch die Option installieren gewählt werden - dann entfällt der letzte Schritt.

Einrichtung

Zunächst wird der Speicherort für die Backups festgelegt. In der Regel handelt es sich um einen Datenträger der in ein Verzeichnis des Servers gemountet wird, hier in das Verzeichnis /mnt/backup/ z.B. mit dem Befehl

mount /dev/sdxx /mnt/backup/

wobei das Verzeichnis /backup vorher angelegt werden muss mit mkdir /mnt/backup.

Die Steuerung von Rsnapshot erfolgt in der Datei /etc/rsnapshot.conf. Nach dem üblichen Anlegen einer Sicherheitskopie kann die Datei bearbeitet werden mit:

mcedit /etc/rsnapshot.conf 

Dabei ist zu beachten, dass immer ein Tabulator als Trenner verwendet werden muss! Als erstes wird das Backupverzeichnis durch die Variable rsnapshot_root festgelegt

rsnapshot_root    /mnt/backup/rsnapshot/

Die gesicherten Dateien befinden in sich also zukünftig im Verzeichnis /mnt/backup/rsnapshot/. Wenn das Verzeichnis nicht existiert, legt rsnapshot es beim ersten Durchlauf an. Wenn man auf ein Wechselmedium sichert ist dieses Verhalten eventuell nicht erwünscht. Vielmehr sollte hier das Programm mit einer Fehlermeldung abbrechen, wenn kein Medium gemountet ist. Dafür gibt es den Schalter

no_create_root    1

Standardmäßig ist er deaktiviert, also die Raute # entfernen und rsnapshot legt kein Verzeichnis an.

Sicherungsintervalle

Als nächstes werden die Backupintervalle (wie lange die Sicherungen aufbewahrt werden) festgelegt. Es können stündliche, tägliche, wöchentliche und monatliche Intervalle eingestellt werden:

#interval       hourly  6
interval        daily   7
interval        weekly  4
interval        monthly 6

Im Beispiel werden tägliche Backups für 7 Tage, wöchentliche Backups für 4 Wochen und monatliche Backups für 6 Monate aufbewahrt. Stündliche Backups sind auskommentiert, werden also nicht durchgeführt - machen bei einem Schulserver auch nicht unbedingt Sinn. Die Reihenfolge der Intervalle ist unbedingt einzuhalten.

Zu sichernde Verzeichnisse

Die Verzeichnisse die gesichert werden sollen werden wie folgt angegeben:

# LOCALHOST
backup  /home/          localhost/
backup  /etc/           localhost/
backup  /usr/           localhost/
backup  /var/           localhost/
backup  /bin/           localhost/
backup  /boot/          localhost/
backup  /lib/           localhost/
backup  /root/          localhost/
backup  /sbin/          localhost/

localhost bezeichnet den zu sichernden Server, im Beispiel wird eine annähernde Komplettsicherung des Servers erstellt. Mit

rsnapshot configtest

kann die Konfiguration getestet werden.

Ein erster Backuplauf kann mit dem kleinsten aktivierten Intervall angestoßen werden:

rsnapshot daily

Treten Probleme auf so kann der Debuglevel heraufgesetzt werden.

Regelmäßige Sicherungen

Mit einem Cronjob werden die Backups zeitlich gesteuert. Mit crontab -e den editor aufrufen und z.B. folgende Zeilen ergänzen:

0 1 * * * /usr/bin/rsnapshot daily
0 3 * * 7 /usr/bin/rsnapshot weekly
0 5 1 * * /usr/bin/rsnapshot monthly  

Täglich um 1 Uhr, wöchentlich jeden Sonntag um 3 Uhr und monatlich an jedem 1. um 5 Uhr wird ein Backup angelegt.

Sichern auf einen Backupserver (entfernter Rechner)

Hierzu muss auf beiden Servern NFS eingerichtet sein s.Link-Text Auf dem Backupserver wird das Backupverzeichnis in die Datei /etc/exports eingetragen

/backup/delixs      delixs(rw,sync,no_root_squash)

Die Sicherungen landen auf dem Backupserver im Verzeichnis /backup/delixs, gesichert wird der Server mit dem Namen delixs - hier kann auch die IP-Adresse stehen. Mit

service nfs-kernel-server restart

wird der NFS-Server neu gestartet und gibt die exportierten Verzeichnisse an der Konsole aus.

Auf delixs muss das exportierte Verzeichnis noch gemountet werden mit dem Befehl

mount -t nfs delixs:/backup/delixs /mnt/backup



zurück | Hauptseite