Rekursive Synchronisation von zwei lokalen Ordnern mit rsync
In diesem Beispiel wird rsync zur Erstellung eines Distributions-Pakets aus einem Projektverzeichnis heraus verwendet, das mit Eclipse erstellt und mit Subversion versioniert wird.
rsync -tr --exclude '.svn' --exclude '.'ettings' --exclude 'Config.php' --exclude '*.log' --exclude '.project' --exclude 'templates_c/*' /home/chris/workspace/phpPassSafe/ /home/chris/Documents/phpPassSafe/source/phpPassSafe/
Der Aufruparameter -t bedeutet, dass die Zeitinformationen von der letzten Änderung erhalten bleibt und -r, dass das angegebene Verzeichnis rekursiv synchronisiert wird. Mit mehreren --exclude Anweisungen werden schließlich jene Verzeichnisse und Dateien von der Synchronisation ausgenommen, die nicht in das Distributions-Paket übernommen werden sollen.
Mit rsync zwei Ordner auf unterschiedlichen Rechnern synchronisieren
Um die Ordner Inhalte von zwei unterschiedlichen Rechnern zu synchronisieren kann ssh als sicheres „Transport–Protokoll“ verwendet werden:
rsync --exclude-from /home/chris/excludes -e ssh -r /home/chris/workspaces/website/ root@webserver:/var/www/htdocs/
Die Pattern für das Exkuldieren von Files, die nicht synchronisiert werden sollen, kommt im obigen Beispiel aus dem File /home/chris/excludes, das etwa so aussehen könnte:
ConfigTemplates/*
templates_c/*
Config.php
Configs/*
ConfigTemplates/*
._*
.DS_Store
.project
.buildpath
.settings
SQL