Wenn man eine Webseite oder gar einen eigenen Server betreibt, stellt sich natürlich immer die Frage des Backups. Darum möchte ich mit diesem kleinen Howto erklären, wie man Daten mithilfe von lftp auf einem FTP-Server sichern kann.
lftp ist ein kleiner, mächtiger
FTP-Client der bereits in den meisten Linux Distributionen integriert ist.
Wenn man eine Verbindung zum entfernten FTP-Server aufbauen möchte, verwendet man folgenden Befehl:
lftp -u USERNAME,PASSWORT ftp://MEIN.FTPSERVER.net/
damit erhält man Zugriff auf den FTP-Server und kann dort ebenso navigieren, Ordner anlegen und löschen wie man es von der normalen Bash gewohnt ist.
Wenn man eine einzelne Datei, zB. das /home Verzeichnis was man in eine tar.gz Datei gepackt hat, auf den FTP-Server kopieren möchte, verwendet man folgenden Befehl:
lftp ftp://USERNAME:PASSWORT@MEIN.FTPSERVER.net/ -e "put /lokal-home/sicherung.tar.gz; quit"
In diesem Fall wird die Datei "sicherung.tar.gz" in das Wurzelverzeichnis "/" des FTP-Server kopiert.
Wenn man nicht nur eine einzelne Datei, sondern komplette Verzeichnisstrukturen spiegeln möchte, funktioniert das nicht mit dem Befehl "put" wie zuvor, sondern mit dem Befehl "mirror":
lftp -u USERNAME,PASSWORT -d -e "mirror -nRep /LOKAES-VERZEICHNIS/ /FTPSERVER-VERZEICHNIS/; quit" MEIN.FTPSERVER.net
Damit erstellt man mit lftp ein komplettes inkrementelles Backup seiner Daten. Der Befehl -nRep steht für folgende Anweisungen:
- -n = --only-newer (nur neue Daten werden kopiert)
- -R = --reverse (Die Daten werden auf dem FTP-Server abgelegt(sehr wichtig!))
- -e = --delete (Dateien die auf dem FTP-Server vorhanden sind aber nicht im Ursprungsverzeichnis werden von FTP-Server gelöscht)
- -p = --no-perms (Dateirechte werden nicht verändert)
Möchte man die Daten, die man mir "mirror" auf dem FTP-Server gesichert hat wieder zurück spielen, nimmt man einfach das -R aus der Anweisungskette und damit ändert sich die Übertragungsrichtung vom Remote FTP-Server zum Lokalen Server.
Wenn man ein komplettes Backup seiner Daten ausschließlich mit lftp, oder einem anderen FTP-Client vorhat, sollte man sich darüber im Klaren sein, das dabei die Eigentümer der Dateien geändert werden. Es ist also sinnvoller zuvor die Daten in eine TAR-Datei packen!