Mit ‚rsync‘ und ’ssh‘ von einem Remote Server aus Dateien auf den lokalen Rechner ziehen

Von Zeit zu Zeit möchte ich ein vollständiges Backup meiner Webseite ziehen, nur um sicherzustellen, dass ich meine Daten auch wirklich vollständig bei mir habe. In meinem Fall braucht es dazu aber eigentlich zwei Backups. Zum einen muss ich die statischen Dateien meines Speicherplatzes sichern, zum anderen die MySQL Datenbank, in der die Inhalte – wie zum Beispiel dieser Beitrag – liegen.

Mein Hostinganbieter ist 1&1 (www.1und1.de). Ein Backup der MySQL [Wikipedia] Datenbank ist dort schnell gemacht. Über das Kundenmenü loggt man sich in phpMyAdmin [Wikipedia] ein, wählt die Datenbank und dann Exportieren. Hier kann man einfach die Voreinstellungen beibehalten. Nicht erschrecken, die Dateigröße, ist je nach Veröffentlichungshäufigkeit erstaunlich klein. In der MySQL Datenbank steckt nur reiner Text und das spart Platz.

phpmyadmin

Wer jetzt mehrere Projekte in seinem Webspeicherplatz hat, möchte diesen sichern, aber nicht jedes Mal die gesamten Daten laden. Hier hilft dann der ssh-Zugang (SSH = Secure Shell [Wikpedia]), der in meinem Paket enthalten ist. Wichtig ist jedoch, dass man den absoluten Pfad kennt, da er den nächsten Schritt – zu mindestens für mich – erleichtert.

Um den Pfad zu ermitteln, wählt man sich per ssh ein. Im Terminal (OS X) einfach folgenden Befehl eingeben.

ssh user@webspace.com

Man wir im nächsten Schritt um das eigene Passwort gebeten. Bei 1&1 ist das ssh-Passwort das gleiche Passwort, wie für das Haupt-FTP Konto hinterlegt. Ist man auf dem Server eingeloggt, kann man mit

pwd

den absoluten Pfad auf dem Server erfahren. Die hier gezeigte Antwort habe ich ein wenig „entfremdet“.

(uiserver):p111111:~ > pwd
/kunden/homepages/21/d111111/htdocs
(uiserver):p111111:~ >

Nun kann man die ssh Sitzung beenden. Im nächsten Schritt gilt es also das „Backup“ zu starten.

rsync -rave ssh p111111@mactopics.de:/kunden/homepages/21/d111111/htdocs /Users/cwolf/Documents/backup

rsync = Ein Programm, dass sich zur automatisierten Sicherung eignet. Führt man das Backup regelmäßig durch, werden nur die Dateien aktualisiert, die sich seit dem letzten Backup geändert haben. Ubuntuusers.de beschreibt rsync, wie folgt:

Dabei werden zunächst die Größe und die Erstellungszeit der Dateien in Quelle und Ziel verglichen, so dass nur die Dateien behandelt werden müssen, bei denen es Änderungen gegeben hat. Sind Quelle und Ziel lokale Pfade, werden die betroffenen Dateien normal kopiert. Wenn auf Quelle oder Ziel aber per SSH oder über einen speziellen rsync-daemon zugegriffen wird, nutzt rsync zusätzlich noch einen speziellen Delta-Transfer-Algorithmus, so dass nur die geänderten Teile der Dateien über das Netzwerk transportiert werden müssen.

Die Option „rave“ lässt sich einfach merken, bedeutet folgendes:

-r = kopiert alle Unterverzeichnisse und deren Dateien
-a = Archiv-Modus
-v = (verbose = wortreich): zeigt während des Synchronisierens alle ausgeführten Schritte an
-e = damit lässt sich die remote shell auswählen (hier ssh)

Wichtig ist, dass man beim Remote-Zugang den Nutzernamen (hier p111111@mactopics.de) mit einem Doppelpunkt vom absoluten Pfad trennt. Eine Leerstelle trennt dann den „Remote-Path“ vom lokalen Dateisystem.

Das „geniale“, an diesem Prozess ist, dass er nach dem ersten Backup alle folgenden Backups extrem schnell durchführen kann (und wird)

Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer. 21.5" iMac - 2.9GHz Intel Core i5, 16GB RAM, 1TB Fusion Drive HDD / 128GB iPhone 7 / 128GB iPad 9,7" (2017) / 15" MacBook Pro (Mitte 2014) in der Firma...

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.