Sicherheitsspiegelung
Remote-Backups mit rsync und rdist
Alles eine Frage des Wie
Was noch fehlt, ist das Wohin auf den Zielrechnern. Dies wird mit dem "Kommando" install angegeben:
install /mnt/backup;
sorgt dafür, dass die jeweiligen Daten unterhalb von /mnt/backup auf dem Zielsystem landen. Wenn nicht vorhanden, legt rdist (genau gesagt der von ihm auf dem Zielrechner aufgerufene rdistd) dieses Verzeichnis auch an. Wichtig dabei ist das Semikolon am "Kommandoende".
Befehle wie install, die das Verhalten von rdist modifizieren, gibt es einige; wir greifen uns an dieser Stelle noch zwei weitere heraus, die von allgemeinem Backupinteresse sind: except_pat nimmt Dateien und Verzeichnisse von der Sicherung aus, die dem anschließend angegebenen Muster entsprechen.
except_pat tmp;
sorgt dafür, dass tmp-Verzeichnisse, aber auch Dateien wie wtmp oder kapitel1.tmp nicht mit gesichert werden. Mehrere Muster kann man wiederum in runden Klammern angeben, und auch reguläre Ausdrücke lassen sich zu einem gewissen Grad verwenden. So sorgt
except_pat ( \\.tgz\$ [Tt][mM][pP] );
dafür, dass alle Dateien, die auf .tgz enden (\$ steht für das Ende des Dateinamens) und alle Dateien/Verzeichnisse mit tmp in jedweder Gross-Kleinbuchstabenkombination von der Sicherung ausgenommen werden. Da der Punkt nicht als regulärer Ausdruck für ein beliebiges Zeichen, sondern als Punkt gemeint ist, muss ein \ davor, und da auch dieser wieder ein Sonderzeichen ist, wird noch ein Backslash davor gesetzt.
Der Befehl
notify pjung@linux-user.de;
wiederum sorgt dafür, dass pjung@linux-user.de eine Mail erhält, in der rdist über die verrichtete Arbeit berichtet.
Mit all diesen Optionen ausgestattet, sieht das distfile dann z.B. wie in Listing 1 aus. Kommentare werden – wie aus der Shell üblich – mit einem # eingeleitet.
Listing 1
Beispiel für ein rdist-Distfile
privat: ( ~/privat ~/briefe ) -> trish@192.168.1.249
install /mnt/backup/privat;
except_pat tmp;
diplomarbeit: /home/trish/dipl -> lillegroenn.trish.de
install ~/backup;
except_pat ( \\.tgz\$ [Tt][mM][pP] );
notify pjung@linux-user.de;
# Kopieren der Netscape-Bookmarks an Ort und Stelle
bookmarks: ~/.netscape/bookmarks.html -> lillegroenn.trish.de
install ~/.netscape/bookmarks.html;
Zwei Seelen, ach…
Solange man den Backup-Platz in Frieden lässt, ist alles in bester Ordnung. Ab und an kommt es dennoch vor, dass man dort die eine oder andere Datei verändert und nicht möchte, dass das Backup diese Änderungen gnadenlos überschreibt. Um rdist hier ein wenig Rücksicht auf Dateien einzuflößen, die auf dem Zielsystem neuer als auf dem Quellrechner sind, kommt schlicht und einfach noch eine Option -o younger zum rdist-Aufruf hinzu.
Auch eine entgegengesetzte Politik ist möglich: Will man auf dem Backupsystem gnadenlos alles löschen, was auf dem Originalsystem nicht existiert, gibt man die Option -o remove mit auf der Kommandozeile an.
Damit ist die Grenze des Feintunings natürlich noch nicht erreicht. Die rdist-Manpage dürfte bei der Backup-Planung durchaus zur ständigen Begleiterin werden.



