[Tipp: rsync kann auch unter Windows genutzt werden: http://it-em.net/cms/front_content.php?idart=43 ]
Mit folgendem Befehl kann man z.B. die auf dem Server (= Quellrechner mit z.B der IP 192.168.10.1/255.255.255.0) im Ordner /backup/server vorhandenen Backupdateien auf einen im gleichen Netzwerk entfernt stehenden Rechner(=Zielrechner mit z.B. der IP 192.168.10.1/255.255.255.0)kopieren bzw. die entsprechenden Verzeichnisse synchronisieren:
rsync -au /backup/server/ root@192.168.10.2:/backup/server/
Mit dem zusätzlichen Schalter –delete können gleichzeitig auf dem entfernten Rechner Kopien von jenen Backupdateien gelöscht werden, die inzwischen auf dem Quellrechner nicht mehr vorhanden sind:
rsync -au ––delete /backup/server/ root@192.168.10.2:/backup/server/
Voraussetzung für die Funktion ist, dass…
Lösungsbeispiel nach http://yeebase.com/rsync-ftp-webanwendungen-webspace-ausrollen-235482/ und http://blog.robwei.de/2008/07/27/ein-ftp-verzeichnis-mit-rsync-spiegeln/
Es ist möglich mittels des Filesystem-Treiber „curlftpfs“ einen externen FTP-Space (z.B. die an der häuslichen AVM-Fritzbox angeschlossene USB-HD) am Server als lokales Verzeichnis zu mounten, um so z.B. mit rsync einen Datenausgleich machen zu können. Dazu muss curlftpfs unter Debian / Ubuntu mit
apt-get install curlftpfs
installiert, dann an der Konsole mit
curlftpfs -s ftp://user:pass@testdomainbla.de /mnt/ftpverz
das Mounten getestet werden. Wenn zunächst die Meldung
fusermount: failed to open /dev/fuse: No such file
erscheint, mit
modprobe fuse
an der Konsole auf das Modul fuse testen. Erhält man dann keinerlei Meldung, ist das ok. Dauerhaft bei jedem Systemstart geladen werden Module, indem man sie als neue Zeile in der Datei /etc/modules einträgt. Mit
lsmod
kann man sich dann noch mal alle geladenen Module anzeigen lassen und fuse sollte dabei sein. - Jetzt erneut
curlftpfs -s ftp://user:pass@testdomainbla.de /mnt/ftpverz
starten. Wenn man jetzt keine Meldung erhält, wurde der externe ftp-Server-Verzeichnisbaum lokal am Server gemountet und ist in
/mnt/ftpverz
zu sehen.
Ein kleines Script zum Mounten, Synchronisieren und Unmounten eines FTP-Verzeichnisses könnte dann z.B. so aussehen:
#!/bin/sh curlftpfs -s ftp://user:pass@testdomainbla.de /mnt/ftpverz rsync -rltDvz --force --exclude-from=rsync_exclude.txt /var/www/webprojekt/ /mnt/ftpverz/ umount /mnt/ftpverz