EDV:Rsync
From KIP Wiki
⧟kip-jumptonavigation⧽⧟kip-jumptosearch⧽
rsync ist ein nĂźtzliches Tool um Dateien von einem Rechner zu einem Anderen zu transferieren, wenn spezielle Rechte/Dateitypen beibehalten werden sollen. AuĂerdem wird nicht alles transferiert sondern nur Dateien die unterschiedlich sind!
Hier ein paar wichtige Beispiele fĂźr rsync, alle Optionen unter ;):
man rsync
Allgemeine Optionen
rsync [options]* [source]+ [destination]
- -a, --archive (steht fĂźr -rlptgoD (kein -H)) Also Quasi alles Wichtige um die Rechte/Nutzer/Links/Devs 1:1 zu Ăźbernehmen.
- -H, --hard-links Auch Hardlinks werden mit ßbernommen (fehlt bei -a wegen Rechenaufwändig)
- -n, --dry-run Zeigt nur an was gemacht werden wĂźrde.
- -v, --verbose Zeigt zum Beispiel zum Schluss noch eine Statistik an.
- -c, --checksum verwendet eine Checksumme um Ănderungen an Dateien festzustellen (statt timestamp+size).
- -z, --compress Komprimiert den Datentransfer (falls mal die Bandbreite nicht so gut ist)
- -u, --update Ignoriert Dateien die auf dem Empfänger neuer sind als beim Sender.
Um /etc 1:1 nach /data/etc zu kopieren:
rsync -avH /etc/ /data/etc/
rsync reagiert unterschiedlich, je nachdem ob ein / am Ende des Verzeichnisses ist oder nicht! |
Fßr ein rsync auf andere Hosts (mit ssh) einfach den Hostnamen mit angeben (ähnlich scp):
rsync -avH kip1:/tmp .
Exclude
- --exclude=PATTERN Ignoriert die Dateien die auf PATTERN passen.
- --exclude-from=DATEI siehe --exclude, aber liest PATTERN von der DATEI
- --include=PATTERN Dateien die auf PATTERN passen nicht ignorieren!
- --include-from=DATEI siehe --include, aber liest PATTERN von DATEI
Fast alles kopieren (auĂer /proc /sys und /var):
rsync -av --exclude=/proc --exclude=/sys --exclude=/var kip1:/ /data/backup-kip1/
Delete
- --delete LĂśscht Dateien die nicht bei der Quelle exestiert.
- --delete-excluded LÜscht auch die ignorierten Dateien auf dem Empfänger!
- --del ein alias fĂźr --delete-during
- --delete-before Dateien erst lĂśschen dann den Rest kopieren (default).
- --delete-during Dateien mittendrin (wie sie dran kommen) lĂśschen, nicht davor.
- --delete-after Dateien nach dem Transfer lĂśschen, nicht davor.
Nicht mehr vorhandene Dateien auch wieder lĂśschen:
rsync -av --delete kip1:/etc/ /backup/kip1-etc/
Backup
- -b, --backup Erstellt backups fĂźr die Transferierten Dateien (sichert die zu Ăźberschreibenden/lĂśschenden Dateien)
- --backup-dir=DIR Kopiert die Backups anhand der Hierarchy in dieses Verzeichnis (DIR)
- --suffix=SUFFIX Suffix des Backups (default ~ w/o --backup-dir)
Bei jedem rsync auch ein incrementelles Backup erzeugen:
rsync -av --delete --backup --backup-dir=/backup/kip1-inc-`date +"%Y.%m.%d_%H:%M:%S"` kip1:/etc/ /backup/kip1-etc/