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 |
(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>