rsync arbeitet stets inkrementell: Beim ersten Abgleich kopiert es alle Dateien der Quellverzeichnisse ins Ziel, bei den folgenden Sicherungen beschränkt es sich auf die Änderungen. Das Skript nutzt ein relativ neues rsync-Feature, das sich wunderbar für Backups eignet: Die Option --link-dest nimmt einen Ordner auf dem Ziellaufwerk entgegen, der die zuletzt angefertigte Sicherung enthält. rsync vergleicht den aktuellen Datenbestand damit, kopiert die neuen und geänderten Dateien aber in einen frischen Zielordner.
Dort fügt es anschließend für alle Dateien, die sich nicht geändert haben, so genannte Hard-Links ein. Das Ergebnis ist im Explorer nicht von einer vollständigen Kopie des Quellordners zu unterscheiden - zusätzlichen Speicherplatz belegen aber nur die neuen und geänderten Dateien.
Ein Beispiel: Sie erstellen mit unserem Skript an drei aufeinander folgenden Tagen ein Backup Ihres Arbeitsordners. Am Montag kopiert rsync den kompletten Datenbestand auf das Ziellaufwerk. Am Dienstag erstellt das Skript einen weiteren, mit dem aktuellen Datum beschrifteten Ordner. rsync stellt fest, dass Sie nur die Datei text.doc geändert haben und überträgt nur diese in den neuen Ordner. Alle anderen Dateien, die Sie nicht angefasst haben, kopiert rsync nicht erneut. Stattdessen fügt es im neuen Backup-Ordner Hard-Links ein, die auf die bereits am Montag gespeicherten Dateien verweisen.
Später am Dienstag löschen Sie die Datei text.doc und erstellen die Datei tabelle.xls. Wenn das Backup-Skript am Mittwoch läuft, wird es tabelle.xls in den neuen Backup-Ordner kopieren. Alle anderen Dateien - außer text.doc, dass ja am Mittwoch in Ihrem Arbeitsordners nicht mehr existiert - verknüpft rsync wiederum mit Hard-Links.
Wenn Sie nun die drei Backup-Ordner im Explorer betrachten, sehen Sie in jedem ein Vollbackup Ihres Arbeitsordners mit genau den Dateien, die dort zum Zeitpunkt der Sicherung vorhanden waren. Die Wiederherstellung könnte simpler nicht sein: Öffnen Sie einfach den Schnappschussordner des gewünschten Zeitpunkts und kopieren Sie die Dateien zurück.