Terminal | Daten via wget mit FTP Zugang (automatisch) herunterladen

Wer ein regelmäßiges Backup seiner Website möchte, kann dies relativ einfach mit dem Terminal und einem Mac oder Linux System einrichten.

1. In den Ordner in dem das Backup gespeichert werden soll gehen.

cd ORDNERNAME

2. Eine ausführbare Datei erstellen und bearbeiten.

nano backup.sh

2.1 Folgende Zeilen einfügen:

#!/bin/bash

wget -x -r -N -P /DEIN/PFAD/ZUM/ZIELORDNER/ ftp://DEINE-FTP-DOMAIN.DE/ --user=NUTZERNAME --password=PASSWORT

Zur Erklärung:

Bei FTP muss die entsprechende Domain, der Nuter und das Passwort eingesetzt werden.

wget // Ist ein Programm, mit dem man via Terminal Dateien von FTP- oder HTTP-Servern herunterladen kann.

-x  // Erstellt die Verzeichnisstruktur des FTP auf dem lokalen PC (oder Server).

-r // Aktiviert den rekursiven Download (lädt alle Unterverzeichnisse mit).

-N // Lädt die Datei nur herunter wenn sie neuer ist als das Backup.

-P /DEIN/PFAD/ZUM/ZIELORDNER/backup.sh // Damit wird der Zielpfad deines Backups eingestellt.

-P benötigt man nur wenn das Skript außerhalb des entsprechenden Ordners ausgeführt wird (z.B. bei einem automatischen Backup via Cronjob).

2.2 Die Datei mit ctrl + x und j (bzw. y) speichern und bestätigen.

3. Datei (automatisch) starten

Um das Backup zu starten muss man folgenden Befehl ausführen.

sh backup.sh

Um das Backup automatisch über einen Cronjob zu starten, schaut euch diese Anleitung an (ab 1.3) Einen Befehl oder Skript zu einer bestimmten Zeit automatisch ausführen (Cronjob)

Einen Befehl oder Skript zu einer bestimmten Zeit automatisch ausführen (Cronjob)

Ein Cronjob ist eine Aktion die zu einer bestimmt Zeit oder in einem bestimmten Intervall ausgeführt werden kann.
In diesem Beispiel lassen wir den PC um eine bestimmte Uhrzeit neu starten (17:10 Uhr).

Ein Terminal öffnen

1. In einem beliebigen Ordner eine sh Datei erstellen (z.B. shutdown.sh im Ordner skripte).

nano ~/skripte/shutdown.sh
1.2 Folgenden Code einfügen, schließen und speichern (ctrl + X und J):
#!/bin/bash

sudo shutdown -r now
1.3 Die Datei ausführbar machen
chmod +x shutdown.sh 

2. Die Datei für cronjobs öffnen

crontab -e
2.1 Folgende Zeile am ende hinzufügen (auf den korrekten Pfad achten)
10 17 * * * /home/user/skripte/shutdown.sh

Erklärung
Die ersten fünf Felder sind für die Einstellung der Zeit (Minute, Stunde, Tag, Monat, Wochentage). Danach kommt der auszuführende Befehl.

Beispiele für die Zeiteinstellung

#M   S    T M W   # Erklärung
5    9-20 * * *   # 5 Minuten nach jeder Stunde zwischen 9-20Uhr
*/10 *    * * *   # Alle 10 Minuten
59   23   * * 0,4 # Jeden Sonntag und Donnerstag um 23:59
0    0    * * *   # täglich um 00:00 Uhr