rsync Beispiele

letzte Änderung: 22. Dez 2014, 23:20 Veröffentlicht: 7. Apr 2011, 23:16

Inhaltsverzeichnis

 

 

 

 

 

Optionen

Option Beschreibung
-v verbose
-r rekursiv (kopiert auch Unterverzeichnisse)
-W kopiert die gesamte Datei. Default ist nur differentiell (minimiert Datenvolumen der Übertragung bei höherer Auslastung der CPU)
-t erhält bei der Übertragung das Datum der letzten Änderung einer Datei
-h human-readable Output
–stats Statistiken der Übertragung
–progress einfache Fortschrittsanzeige pro Datei
–remove-source-files mit dieser Option funktioniert rsync wie mv. D.h. die Dateien werden nach erfolgreicher Übertragung vom Quellmedium gelöscht.
–out-format
–log-file-format
  •  %n = Dateiname
  •  %f = Dateiname mit Pfad
  •  %l = Dateigröße in bytes
  •  %p = PID
  •  %t = aktuelle Zeit (2011/04/11 10:15:21)
  •  %B = Berechtigung (rw-r–r–)
  •  %M = Zeitstempel (last-modified) der Datei (2010/12/10-10:29:08)

(siehe man rsyncd.conf)

 

Verschieben

aller Dateien von Verzeichnis a/* nach Verzeichnis b/

rsync -vWth --stats --progress --remove-source-files a/* b/

 

Kopieren

aller Dateien von Verzeichnis a/* nach Verzeichnis b/ inkl. Unterverzeichnisse (Option -r)

rsync -vWthr --stats --progress /srv/samba/autista9/autistamaster.tgz  a/* b/

 

rsync mit Logging in Logfile

Fehermeldung auf STD-OUT wird durch -q unterdrückt

rsync -Wthq --remove-source-files --log-file=<LOG_FILE> '--log-file-format=FILE:%n * Byte:%l * PERMISSION:%B' $(find <SRC_DIR>/*.log -mmin +10) <DST_DIR>

 
LogFile

2011/05/26 14:23:23 [7677] building file list
2011/05/26 14:23:23 [7677] FILE:alt.log * Byte:0 * PERMISSION:rw-r--r--
2011/05/26 14:23:23 [7677] sent 67 bytes  received 32 bytes  total size 0

 
Und nochmal mit umfangreichem Logging

rsync -Wthq --remove-source-files --stats --log-file=<LOG_FILE> '--log-file-format=FILE:%n * Byte:%l * PERMISSION:%B' $(find <SRC_DIR>/*.log -mmin +10) <DST_DIR>

 
LogFile

2011/05/26 14:21:24 [7659] building file list
2011/05/26 14:21:24 [7659] FILE:alt.log * Byte:0 * PERMISSION:rw-r--r--
2011/05/26 14:21:24 [7659] Number of files: 1
2011/05/26 14:21:24 [7659] Number of files transferred: 1
2011/05/26 14:21:24 [7659] Total file size: 0 bytes
2011/05/26 14:21:24 [7659] Total transferred file size: 0 bytes
2011/05/26 14:21:24 [7659] Literal data: 0 bytes
2011/05/26 14:21:24 [7659] Matched data: 0 bytes
2011/05/26 14:21:24 [7659] File list size: 21
2011/05/26 14:21:24 [7659] File list generation time: 0.001 seconds
2011/05/26 14:21:24 [7659] File list transfer time: 0.000 seconds
2011/05/26 14:21:24 [7659] Total bytes sent: 67
2011/05/26 14:21:24 [7659] Total bytes received: 31
2011/05/26 14:21:24 [7659] sent 67 bytes  received 31 bytes  196.00 bytes/sec
2011/05/26 14:21:24 [7659] total size is 0  speedup is 0.00
2011/05/26 14:21:24 [7659] sent 67 bytes  received 32 bytes  total size 0

 

rsync mit ssh

rsync -Wthq -e ssh --remove-source-files <SOURCE_FILE(s)> <SSH_USER>@<DEST_HOST>:<DESTINATION_DIR>

 
Für Nutzung per Cron muß der Login ohne Passwort eingerichtet sein (PubKey)

 

rsync mit find

Dateien *.log verschieben die älter als 10 Minuten sind:

rsync -Wthq --remove-source-files $(find <SOURCE_DIR>/*.log -mmin +10) <DESTINATION_DIR>