FTP-Backup mit Linux und wget
Ein automatisiertes FTP-Backup seines Webspaces, etc… ist mit wget und Linux ein Kinderspiel:
Das “Grundgerüst” lautet:
$ > wget -r -l100 ftp://musteruser:musterpasswort@ftp.example.org/www
Der Paramter -r bedeutet recursive und bewirkt, das alle Verzeichnisse unterhalb der angegebenen URL heruntergeladen werden. Wie tief wget in die Verzeichnisbäume gehen soll, legt -l100 (steht für Level 100) fest. Dannach folgt die URL inklusive Username, Passwort, Server und Verzeichnis.
Ich glaube kaum das einer 100 Verzeichnisse untereinander hat ;-)
Das ganze sollte als Cronjob oder Shell-Skript voll automatisiert ablaufen. Dafür habe ich folgende Möglichkeit, die auf meinem VServer Prima funktioniert
:
#/bin/bash sDATE=`date +%Y_%m_%d` cd webspacebackups/ mkdir backup_$sDATE cd ./backup_$sDATE wget -r -l100 ftp://musteruser:musterpasswort@ftp.example.org/www
Mir ist klar, das es bessere Lösungen gibt, aber da meine Linux-Kenntnisse noch nicht ganz ausgereift sind, sollte das genügen
Erklärung:
1 | #/bin/bash |
Am Anfang eines Shell-Skripts sollte immer die Shebang-Markierung stehen. Sie gibt an, mit welchem Interpreter das Skript ausgeführt wird. Genau so gut könnte man für ein Perl-Skript #/usr/bin/perl schreiben.
2 | sDATE=`date +%Y_%m_%d` |
Das aktuelle Datum, das das Programm date ausgibt, wird anständig formatiert und in der Variable sDATE gespeichert.
2 | cd webspacebackups/ |
Das Skript wechselt in den Ordner für die Backups. Dieser muss schon vorhanden sein. Relative Pfadangaben gehen immer vom Skript aus !
3 4 | mkdir backup_$sDATE cd ./backup_$sDATE |
Ein Ordner mit dem Namen backup_JAHR_MONAT_TAG wird erstellt und anschließend in diesen gewechselt.
Am Schluss noch die wichtigste Zeile, die euren kompletten Webspace sichert:
4 | wget -r -l100 ftp://musteruser:musterpasswort@ftp.example.org/www |