EDV:Rsync: Difference between revisions

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽
(rsync mit Beispielen und wichtigen optionen :))
 
No edit summary
Line 27: Line 27:




=== Exclude ===
== Exclude ==
* '''--exclude=PATTERN''' Ignoriert die Dateien die auf PATTERN passen.
* '''--exclude=PATTERN''' Ignoriert die Dateien die auf PATTERN passen.
* '''--exclude-from=DATEI''' siehe --exclude, aber liest PATTERN von der DATEI
* '''--exclude-from=DATEI''' siehe --exclude, aber liest PATTERN von der DATEI
Line 36: Line 36:
rsync -av '''--exclude=/proc --exclude=/sys --exclude=/var''' kip1:/ /data/backup-kip1/
rsync -av '''--exclude=/proc --exclude=/sys --exclude=/var''' kip1:/ /data/backup-kip1/



=== Delete ===
== Delete ==
* '''--delete''' Löscht Dateien die nicht bei der Quelle exestiert.
* '''--delete''' Löscht Dateien die nicht bei der Quelle exestiert.
* '''--delete-excluded''' Löscht auch die ignorierten Dateien auf dem Empfänger!
* '''--delete-excluded''' Löscht auch die ignorierten Dateien auf dem Empfänger!
Line 47: Line 48:
rsync -av '''--delete''' kip1:/etc/ /backup/kip1-etc/
rsync -av '''--delete''' kip1:/etc/ /backup/kip1-etc/



=== Backup ===
== Backup ==
* '''-b, --backup''' Erstellt backups für die Transferierten Dateien (sichert die zu überschreibenden/löschenden Dateien)
* '''-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)
* '''--backup-dir=DIR''' Kopiert die Backups anhand der Hierarchy in dieses Verzeichnis (DIR)

Revision as of 10:16, 31 October 2006

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 entsprechen anders 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/