Verwendung von rsync

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