Dateien vom Server auf einen entfernten Linux-Rechner oder externen ftp-Space synchronisieren/kopieren

[Tipp: rsync kann auch unter Windows genutzt werden: http://it-em.net/cms/front_content.php?idart=43 ]

Austausch-Verzeichnisse auf Servern im gleichen Netz

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…

  • beide Linux-Rechner über ein Netzwerk miteinander verbunden sind
  • beide Rechner eine IP-Adresse im gleichen Adressbereich bei gleicher Netzwerkmaske haben
  • man sich vom Quellrechner ohne Passworteingabe als root auf dem Zielrechner einloggen kann, wie hier http://www.linuxmuster.net/version3:ssh-keys beschrieben steht.

Austausch-Verzeichnisse auf dem Server und einem externen ftp-Server

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
 
version3/backup_auf_entfernten_rechner_sichern.txt · Zuletzt geändert: 2010/02/07 19:38 (Externe Bearbeitung)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki