Manchmal gibt es zur Sicherung von Dateien nur begrenzte Möglichkeiten. So kann es passieren, dass man in die Lage kommt, einen kompletten Spiegel eines Dateisystems über FTP oder SFTP anfertigen zu müssen. Eventuelle Sicherheitsrisiken der Protokolle lasse ich jetzt mal links liegen, es geht hier nur um die Umsetzung – nicht die Absicherung. Wenn es beruhigt: In diesem fiktiven Fall werden die Daten in einem abgeschlossenen, lokalen Netz transferiert, in dem Angreifer ausgeschlossen sind.

Mit lftp funktioniert das Vorhaben sehr gut, denn lftp bringt eine Spiegel-Funktion und Support für SFTP. Jetzt mit wenigen Schritten alle Dateien aus dem entfernten Verzeichnis in das lokale Verzeichnis kopieren. Zuvor ist noch wichtig, in das Verzeichnis zu wechseln, in dem man den Spiegel erstellt haben möchte.

lftp starten:

lftp

Die Eingabeaufforderung von lftp öffnet sich. Alle nachfolgenden Befehle werden direkt in lftp getätigt.

Über SFTP zum entfernten Rechner verbinden:

lftp sftp://user@192.168.178.3

User wird entsprechend angepasst genau wie die IP, welche auch eine Domain sein kann.

Anschließend lautet der Befehl um einen Spiegel vom aktuellen Remote-Verzeichnis (in lftp kann man auch mit cd navigieren!) auf das Verzeichnis in dem man sich aktuell befindet (lokal) zu erstellen:

mirror –continue –parallel=7

Wobei das “–continue” später ermöglicht den Download des Spiegels wiederaufzunehmen und “–parallel=7” definiert, dass bis zu 7 Dateien gleichzeitig heruntergeladen werden können – abhängig von der Einstellung des Servers.

Wenn man sich nun am Anfang noch eine virtuelle Umgebung mit screen geschaffen hat, die man mit Strg+A+D minimieren und mit screen -r wieder aufrufen kann, so hat man alles richtig gemacht und kann selbst bei der Erstellung großer Spiegel, zum Beispiel von großen Repositorys oder einem eigenen gut bepackten Server, zurücklehnen.

1 thought on “Verzeichnis von FTP- oder SFTP-Server spiegeln (Server zu Client)

Leave a Reply

Your email address will not be published. Required fields are marked *