Synchroner Datenstrom
Dateien abgleichen mit Rsync
Alles bleibt wie es ist
Setzen Sie Rsync zum Erstellen von Backups ein, bietet es sich an, sämtliche Dateieigenschaften beizubehalten. Dazu gehören nicht nur die Dateirechte, wie Lese-Erlaubnis, Schreibrechte und die Erlaubnis, die Datei auszuführen, sondern zusätzlich die sogenannten Timestamps (deutsch: Zeitstempel), dass heißt, Informationen zum letzten Dateizugriff (atime), zum letzten Ändern des Status (ctime) und der letzten Inhaltsmodifikation (mtime).
Weiterhin nützen dem Admin Parameter, welche den Besitzer sowie die Gruppenzugehörigkeit von Dateien sichern, und die Möglichkeit, Device-Dateien einzuschließen. Für den Erhalt der richtigen Rechte sorgt die Option -p, der Parameter -t kümmert sich um den Erhalt der Timestamps, und -g sorgt für den Erhalt der Gruppenmitgliedschaft.
Während diese drei Parameter jedem normalen Benutzer verwenden darf, stehen die Optionen -o (Erhalt des Dateieigentümers) und -D (Device-Eigenschaften) lediglich dem Systemverwalter zur Verfügung. Den kompletten Aufruf mit allen Optionen lautet rsync -rlptgoD home/huhn/* backup/. Es geht aber auch kürzer: Rsync bringt für diesen Fall eine eigene Option mit, die alle diese Parameter zusammenfasst. Anstelle von -rlptgoD schreiben Sie einfach -a.
Ausgeschlossen
Rsync bringt eine praktische Option mit, welche gezielt Dateien vom Synchronisieren ausklammert. Geben Sie dazu hinter --exclude= ein Suchmuster an und definieren die Ausschlusskandidaten. Dazu setzen Sie beispielsweise Wildcards einsetzen: rsync -a --exclude=*.bak ~/artikel/* backup/
Auf diese Weise schließen Sie alle Dateien, die auf .bak enden, vom Abgleich aus. Wollen Sie weiterhin Dateien ausklammern, welche mit einer Tilde enden, hängen Sie einfach einen weiteren --exclude-Aufruf an: rsync -a --exclude=*.bak --exclude=*~ Quelle
Ziel
.
Sie sparen Tipparbeit, wenn Sie alle Ausnahmen in eine Textdatei schreiben. Jedes Suchmuster landet dabei in einer eigenen Zeile. Anschließend übergeben Sie eine solche Datei über den Parameter --exclude-from=Exclude-Datei
.



