Backup-Strategie mit rsnapshot

fehlt wasgeht sogutsehr guthat geholfen (1 votes, average: 5,00 out of 5)
Loading ... Loading ...
Werbung




backup

Jeder Server-Administrator muss sich über Backup Gedanken machen. Es gibt viele Tools auf dem Markt, die ein Backup ermöglichen, aber nur wenige beeinflussen die Geschwindigkeit des Servers durch ständiges Full-Backup. Hierbei hilft rsnapshot, welches ein inkrementelles Backup ermöglicht.

rsnapshot installieren und konfigurieren

rsnapshot basiert auf rsync und arbeitet mit “harten Links”. Bei “harten Links” werden Dateien, die bereits im Backup existieren nicht noch einmal kopiert, sondern mittels eines Links auf die bereits bestehende Datei verwießen. Somit wird die selbe Datei nicht 2 mal kopiert. Dabei legt rsnapshot für jedes backup ein eigenes Unterverzeichnis an und kopiert neue/geänderte Dateien mit dem kompletten Verzeichnis in dieses Backup-Verzeichnis. Bereits bestehende und nicht veränderte Dateien werden verlinkt. Das Resultat ist eine Verzeichnis-Struktur, die dem Original gleicht.

Voraussetzungen für das Nutzen von rsnapshot ist ein separater Backup-Bereich, beispielsweise ein Unterverzeichnis /backup

Die Installation von rsnapshot gestaltet sich unter Debian Linux recht einfach

# aptitude install rsnapshot

Danach findet sich unter /etc eine Konfigurations-Datei “rsnapshot.conf”, in der viele Einstellungen getätigt werden können.
Zunächst interessant ist das interval. Hier wird eingetragen, wie rsnapshot die Backups anlegen soll.
Möchte man beispielsweise täglich ein Backup Fahren und davon 7 Versionen behalten (die letzte Woche), muss man den Eintrage

interval        daily   7

hinzufügen. “Daily” für Täglich und die 7 für die Versionen.
In diesem Fall wird unter /backup verschiedene Verzeichnisse erzeugt, angefangen von daily.0 bis daily.7

Möchte man zusätzlich auch über den Tag Backups erzeugen, muss man den Eintrag

interval       hourly  3

aktivieren, in diesem Falle werden bei den Stündlichen Backups 3 Versionen behalten.
Genauso kann man noch “weeckly” Backup für wöchentlich und “montly” für Monats-Backups erzeugen, beispielsweise, wenn man jeden Monat ein Abschluss-Backup erzeugen möchte. Hier könnte man

interval    montly   12

für ein Monatliches Backup des letzten Jahres anfertigen lassen.

Anzumerken ist, dass rsnapshot bei zu löschenden Backups zunächst die Dateien mit dem letzten aktiven Backup synchrosniert, bevor es das überflüssige Backup-Verzeichnis (beispielsweise daily.8) löschen kann. Dies ist zu berücksichtigen, da hier auch Daten kopiert werden müssen.

Einstellung der Backup-Verzeichnisse

In der selben Konfigurations-Datei “/etc/rsnapshot.conf” werden dann die Bereiche definiert, die dem Backup unterzogen werden sollen.
Ein Backup der Konfigurations-Bereiche des Servers könnte dann folgendermaßen aussehen:

backup  /etc/                                   localhost/
backup  /boot/                                  localhost/
backup  /root/                                  localhost/

In diesem Falle wird im Backup-Bereich, beispielsweise beim täglichen Backup /backup/daily.0 ein weiteres Unterverzeichnis erzeugt “/backup/daily.0/localhost” und in dieses Verzeichnis das Backup von /etc, /boot und /root ausgeführt. Dabei werden Dateien, die bereits vorher gesichert wurden und nicht mehr verändert wurden, mit diesen verlinkt, wodurch sich der Speicherplatz des Backups deutlich verringert (abgesehen vom Ursprungs-Backup).

Backup durchführen

Das Ausführen des Backups gestaltet sich sehr einfach

/usr/bin/rsnapshot daily

führt das tägliche Backup aus.

Möchte man das Monats-Backup ausführen, ist der Befehl

/usr/bin/rsnapshot montly

Dies lässt sich leicht über die Cron-Tabelle erledigen.

Möchte man beispielsweise täglich um 3 Uhr morgens das Backup ausgeführt haben, so kann in der Cron-Tabelle der Eintrag

0 3  * * *     /usr/bin/rsnapshot daily >> /var/log/rsnapshot.log 2>> /var/log/rsnapshot.log

hinterlegt werden.

Snapshot sichern

Da hier das Snapshot, also das Backup, auf dem selben Server gesichert wird, auf dem auch die Daten liegen, sollten diese danach noch auf einen Backup-Server übertragen werden.

Hierzu könnte man statt dem direkten Aufruf von rsnapshot aus dem Cron eine Script-Datei aufrufen, beispielsweise
/srv/scripts/backup.sh
mit dem Inhalt

#!/bin/sh
/usr/bin/rsnapshot daily
tar cfz - /backup | ncftpput -c -u <FTPUSER> -p <FTPPASS> <FTPSERVER> daily-snapshot.tar.gz

Somit wäre das letzte Snapshot auch auf dem FTP gesichert. Natürlich sollte mehrere Versionen der Snapshots auf dem Backup eingerichtet werden, in diesem Falle würde nur eine Datei “daily-snapshot.tar.gz” erzeugt und diese am darauf folgenden Tag wieder übreschrieben werden.

Dies kann umgangen werden, wenn nach dem Befehl rsnapshot folgendes hinzugefügt/geändert wird

DAYOFMONTH=`date +%d`
BACKUPFILE="daily-snapshot-${DAYOFMONTH}.tar.gz"
tar cfz - /backup | ncftpput -c -u <FTPUSER> -p <FTPPASS> <FTPSERVER> $BACKUPFILE

bisherige Suchbegriffe:

  • Rootserver Backupstrategie
  • rsnapshot ftp
  • rsnapshot full backup
  • strategie mit rsnapshot


Werbung


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>