Local: rsync [OPTION...] SRC... [DEST]
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
--------------------------------------------------------
Wichtige Optionen :
-a Bedeutet Archivieren und fasst mehrere Optionen zusammen wie Rekursiv, Rechte, Owner Datum usw. entspricht -rlptgoD (no -H,-A,-X).
-v Zeigt während des Synchronisierens alle Schritte die ausgeführt werden an. Verbose.
-z Aktiviert die Komprimierung für die Datenübertragung (diese Option ist sinnvoll, wenn zwischen Quelle und Ziel eine langsame Verbindung besteht)
-e Damit lässt sich die remote shell auswählen, die meisten werden SSH nutzen also -e ssh
-n Simuliert nur was passieren würde ("dry run")
--delete Sorgt dafür, dass Dateien, die im Quellverzeichnis gelöscht wurden, auch im Ziel gelöscht werden .
--update oder -u Werden Dateien übersprungen, die schon im Zielverzeichnis vorhanden und neuer oder genauso alt sind wie im Quellverzeichnis.
--stats Zeigt einen ausführlicheren Report am ende einer Übertragung an.
--exclude=ordner1/ --exclude=ordner2/ Schließt ordner1 und ordner2 von der Sicherung aus (bezieht sich immer auf und deren Unterordner!)
--timeout=seconds Maximum I/O Timeout setzen.
--backup oder -b sorgt dafür, dass durch die Option --delete gelöschte sowie alle veränderten Objekte gesichert werden
mit --backup-dir=Verzeichnis kann man ein Verzeichnis dafür angeben
--------------------------------------------------------
Beispiel Befehle (Die Backslashes sind WICHTIG !!!)
Einfaches lokales Syncen eines Verzeichnisses :
rsync --delete --stats -av /etc /backup/test/
---
Mehrere Verzeichnisse syncen :
for source in /etc /opt /srv; do rsync --delete --stats -av "$source" /backup/test/; done
---
Mit entfernten Maschinen arbeiten (Auf die Backslashes achten !):
Ziehen von Remotemaschine : rsync -vauz --delete -e ssh --stats username@server.address.com:/home/username/music /home/username/
Drücken auf Remotemaschine : rsync -vauz --delete -e ssh --stats /home/username/ username@server.address.com:/home/username/music
---
Als Cronjob :
*/10 * * * * flock -n /tmp/rsynclock -c "rsync --delete --stats -av /home/Downloads /home/NetzHome/ && yes | rm /tmp/rsynclock" > /dev/null