Backup-Differenzen mit rsync feststellen und zurückspielen

Sowas passiert: Platten-Crash! Aber man hatte ja vorgesorgt und ein Platten-Image gezogen und auch immer schön die wichtigsten Dateien und Verzeichnisse in Sicherheit gebracht, z.B. mit dem in „Verzeichnisse auf einen anderen Rechner übertragen“ beschriebenen Verfahren. Das Image ist schnell auf die neue Platte gespielt, aber wie bekommt man nun die aktuellen Backupdateien wieder ins System, ohne sich beispielsweise die neuere LVM-Config zu zerschießen?

Hier kann das Tool rsync sehr hilfreich sein – auch wenn die Daten gar nicht mit rsync gesichert wurden. Zunächst wechselt man in das Verzeichnis, in dem die Backupdateien liegen. Hatte man ein (komprimiertes) Tar-Archiv angelegt, muss dieses in ein temporäres Verzeichnis entpackt werden.

Nun kann der Inhalt dieses Verzeichnisses gegen den wiederhergestellten Rechner verglichen werden:

rsync -rznciuK -e ssh ./ root@meinLinuxPC:/ | grep -v skipp

Durch den Schalter -n werden keine Daten übertragen, sondern nur angezeigt, welche Dateien aus dem Backup neuer sind als auf dem wiederhergestellten System:

  <fcsT.... etc/SnmpAgent.d/snmpd.conf
  <fcsT.... etc/rc.config.d/SnmpHpunix
  <fcsT.... etc/rc.config.d/SnmpMaster
  <fcsT.... etc/rc.config.d/SnmpMib2
  <fcsT.... var/spool/cron/crontabs/root

Zur Bedeutung von <fcsT.... siehe man rsync, –itemize-changes.

Wenn man die Dateien nicht von Hand übertragen will, kann man das auch rsync machen lassen:

rsync -rzciuKb --suffix=~rsync -e ssh ./ root@meinLinuxPC:/ | grep -v skipp

Hier fehlt der Schalter -n, der oben dafür sorgt, dass keine Dateien übertragen werden. Die Optionen -b und --suffix=~rsync sorgen dafür, dass auf dem Zielrechner die Original-Dateien mit dem Suffix ~rsync erhalten bleiben.

Schreibe einen Kommentar

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