Das große Adventskalender Gewinnspiel 2018 für Gamer & Technikfreunde
Windows Tutorials

FTP-Backups mit Windows durchführen und automatisieren

Wer eine eigene Webseite betreibt, sollte regelmäßige Backups anstoßen um bei Problemen einfach eine alte Version zurückspielen zu können. Es gibt inzwischen beispielsweise für WordPress Plugins, die automatisch regelmäßig Backups machen und diese auch gleich schon zu Dropbox verschieben oder ähnliches. Diese belasten aber natürlich den Server und eventuell möchte sich auch nicht jeder darauf verlassen. Man kann seine Backups ja auch auf dem heimischen PC machen, sofern das Backup nicht zu groß wird. Da es mit Windows eigenen Funktionen nicht möglich ist Unterordner zu sichern, ist diese Backup-Möglichkeit vor allem geeignet um MySQL-Dumps aus einem Ordner zu sichern. Zur Sicherung der Dateien empfehle ich unser WinSCP-Tutorial, welches alle Dateien lokal sichert.

Auch auf dem eigenen Rechner hat man verschiedene Backup-Optionen, man kann beispielsweise auf scriptfähige FTP-Clients wie WinSCP zurückgreifen (zum Tutorial), oder bei einfachen Backups auf die Windows eigene FTP-Funktion zurückgreifen. Denn auch Windows beherrscht rudimentär das FTP-Protokoll.

Beginnen wir also mit unserer kurzen Anleitung, wie man mit Windows FTP-Backups macht.

Anlegen eines Backup-Ordners

Zunächst musst du dir einen geeigneten Platz für dein FTP-Backup suchen. In diesen kommen die nötigen Dateien um das Backup durchzuführen sowie das Backup selber. Ich habe mir dazu den Ordner „D:\Backup Webseite\“ angelegt. Dieser Pfad wird auch in den folgenden Ausführungen zum Einsatz kommen. Falls du einen anderen Sicherungspfad wählst, vergiss nicht diesen im Script anzugeben.

Anlegen der Datei „backup.ftp“

Zunächst legen wir eine Datei mit den FTP-Zugriffsdaten an. Dazu kann der einfache Windows-Editor genutzt werden. Die Datei wird später von einem anderen Script aufgerufen um die Verbindung mit dem FTP-Server herzustellen. Außerdem sind in der „backup.ftp“ die Anweisungen für den FTP-Server hinterlegt. Diese packt ihr einfach in den Backup-Ordner. Achtet darauf, dass sie auch wirklich die Endung „ftp“ und nicht „txt“ hat.

open deineurl.de
DeinFTP-Benutzername
DeinFTP-Passwort
mget /ordner/*
quit

FTP-Backup 5

Die „backup.ftp“ hat also 5 Zeilen. Diese sind eigentlich ziemlich selbsterklärend. Du musst bis auf die letzte Zeile jede Zeile an deine Bedürfnisse anpassen. Zunächst kommt deine URL, dann Benutzername und Passwort. Zum Schluss musst du hinter dem Befehl „mget“ noch den Ordner angeben, der zu sichern ist. Der Stern bedeutet, dass alle Dateien aus dem Ordner gesichert werden. Möchtest du nur eine Datei sichern, kannst du auch direkt ihren Namen angeben. Falls du Dateien mit einem bestimmten Prefix sichern möchtest, kannst du auch beispielsweise „prefix*“ angeben.

Du kannst natürlich auch mehrere Zeilen mit „mget“ angeben, um mehrere Dateien oder Ordner zu sichern.

Ergänzung zum Löschen von Dateien: Falls du alte Dateien auch vom Server löschen möchtest, kannst du das mit dem Befehl „mdel“ machen – dieser funktioniert genauso wie der Befehl „mget“ – sei also vorsichtig mit den Sternen „*“.

1 2Nächste Seite
Tags

Simon Lüthje

Ich bin der Gründer dieses Blogs und interessiere mich für alles was mit Technik zu tun hat, bin jedoch auch dem Zocken nicht abgeneigt. Geboren wurde ich in Hamburg, wohne nun jedoch in Berlin.

Ähnliche Beiträge

5 Kommentare

  1. Hi Simon,

    habe Dein Tutorial mal 1:1 für mich umgesetzt (klar – Verzeichnisse, User, PW etc. angepasst)…

    Auf meinem Debian-Server läuft Pure-FTPd.

    Ich benutze Let’s Encrypt für FTP-Verschlüsselung – mit anderen Worten FTP + TLS, also FTPS. Aufruf in WinSCP: explizit.

    Post nachfolgend mal die (anonymisierte) Ausgabe des Terminals nach dem ersten Durchlauf – funktioniert soweit – bis zum Copy-Job, wo das Script mit ? und quit aussteigt – vielleicht liegt´s auch daran, dass Windows keinen „passive mode“ für FTP unterstützt:

    E:backup_website>cd backup_16.01.2018

    E:backup_websitebackup_16.01.2018>ftp -s:backup.ftp ûi
    ûi: Unbekannter Host.
    ftp> open host1.pxxxxxxxxxxos.de
    Verbindung mit host1.pxxxxxxxxxxos.de wurde hergestellt.
    220———- Welcome to Pure-FTPd [privsep] [TLS] ———-
    220-You are user number 4 of 50 allowed.
    220-Local time is now 14:43. Server port: 21.
    220-This is a private system – No anonymous login
    220-IPv6 connections are also welcome on this server.
    220 You will be disconnected after 15 minutes of inactivity.
    200 OK, UTF-8 enabled
    Benutzer (host1.pxxxxxxxxxxos.de:(none)):
    331 User c0xxxxxxfo24 OK. Password required

    230 OK. Current restricted directory is /
    ftp> mget /backup/*
    200 TYPE is now ASCII
    mget /backup/db_c0xxxxxxxo24_2018-01-14_00-02.sql.gz? quit
    ftp>

    Vielleicht hast Du ja noch eine Idee?

    Zudem arbeite ich – wegen Erhalt der Berechtigungen – mit Filezilla oder jetzt WinSCP durchwegs binär – das müsste ich dann auch mitgeben.

    Beste Grüße
    Piet

    1. Hey Piet,
      ohne aussagekräftige Fehlermeldung kann ich dir da leider auch nicht helfen. Passives FTP sollte aber unter Windows 10 funktionieren. Du findest die Option dazu unter „Windows-Taste > „Internetoptionen“ eingeben > „Erweitert“-Tab öffnen > Haken bei „Passives FTP verwenden“ rein. Bei mir war die Option jedoch auch schon vorausgewählt.

      Beste Grüße,
      Simon

  2. Danke, Simon…
    Alles erledigt, hab´s geschafft – läuft alles perfekt – über batch-file und scheduled tasks.
    Das Zauberwort in meinem Fall heißt: FTPES – explizites FTPS.

    Wünsche Dir einen schönen Tag!

    Beste Grüße
    Piet

  3. Zwar schon ein bißchen äter aber hätte ne Frage zu den Eistellungen in der backup.ftp.

    Gibt es auch ne Möglichkeit das immer der selbe Backup Ordner verwendet wird und nur die neusten Dateien gesichert werden?

    Danke im Voraus

    1. Hi Marcus,
      um immer in den gleichen Ordner zu sichern, kannst du den Code folgendermaßen ändern:
      MD backup_files
      COPY backup.ftp backup_files/backup.ftp
      cd backup_files
      ftp -s:backup.ftp -i

      Immer nur die neuesten sichern klappt allerdings mit mit der Funktion meines Wissens nach nicht. Dazu wirst du mit WinSCP oder so arbeiten müssen. Schau dir das hier mal an:
      https://superuser.com/questions/850416/windows-ftp-skip-file-if-it-already-exists

      Ich empfehle aber immer mehre Backups zu haben, sonst hat man möglicherweise das Problem, dass sich Fehler bereits ins Backup übertragen haben.

      Viele Grüße,
      Simon

Schreibe einen Kommentar

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

Close