Webseiten sind nicht selten aufgrund von Updates, Änderungen im Code oder durch Angriffe entweder nur noch eingeschränkt oder gar nicht mehr erreichbar. Zwar bieten zahlreiche Webhoster diverse Backupmöglichkeiten an. Jedoch passiert doch in der Regel genau kurz vor dem wöchentlichen Backup etwas Unerwartetes. Die Backupzyklen des Providers kannst du meist nicht beeinflussen. Es kann aber sinnvoll sein, auch selbst Sicherungen durchzuführen – je nach Änderungen an der Webseite vielleicht sogar täglich. Dadurch geht bei einem Problem nicht der gesamte Fortschritt einer Woche flöten, sondern nur ein Tag. Mit wenigen Handgriffen kannst du auf deinem QNAP-NAS eine automatische Sicherung einrichten, die bei Bedarf sogar ganze Wordpress-Seiten inklusive Datenbank sichert und wiederherstellt.
Einfache HTML-Webseiten sichern
Je simpler eine Seite aufgebaut ist, umso größer ist meist der Aufwand für das Backup – zumindest, was die Einrichtung betrifft. Plugins, die das für dich erledigen, wären bei HTML-Seiten nämlich völliger Overkill. Deshalb benötigst du auf deinem QNAP-NAS ein Skript, das in einem bestimmten Intervall ausgeführt wird und deine Daten kopiert.
Datenquelle ausfindig machen
Bevor du beginnst, einen Backup-Job einzurichten, musst du erst einmal sichergehen, dass die gewünschte Seite per FTP erreichbar ist. Hier musst du dich vielleicht durch ein paar Einstellungen im Webinterface deines Webspace-Providers wühlen, um die entsprechenden Zugangsdaten zu finden. Möglicherweise ist es sogar notwendig, dass du zuerst einen FTP-Nutzer erstellen musst und dann selbst ein Passwort festlegen kannst.
Backup-Job anlegen
Erstelle als Nächstes eine Textdatei mit einem Editor deiner Wahl. Der Windows-Editor reicht hier völlig aus. Diese Datei wird im späteren Verlauf dann automatisch aufgerufen und ausgeführt. Wir bedienen uns bei unserem Backup-Vorhaben des wget-Befehls. Dieser kann sämtliche Dateien von Webseiten an einen festgelegten Ort kopieren und beherrscht noch eine ganze Menge mehr. Füge folgende Zeilen in die Textdatei ein:
#!/bin/bash wget -l inf -b -r -q --directory-prefix=/volume1/testbenutzer/backups/Backup_-$(date +%Y_%m_%d) --ftp-user=benutzername --ftp-password=“passwort“ ftp://serveradresse
Jetzt gilt es, die Parameter an dein Vorhaben anzupassen. Hier die Erklärung der einzelnen Punkte.
-l (ein kleines L) bestimmt die Verzeichnistiefe, bis zu welcher heruntergeladen wird, in Kombination mit 0 oder inf wird die Tiefe auf Unendlich gesetzt
-b sorgt dafür, dass der Downloadprozess im Hintergrund ausgeführt wird und du auf der Benutzeroberfläche davon nichts mitbekommst
-r sichert alle Unterverzeichnisse und deren Inhalte
-q schaltet alle Benachrichtigungen des Kopiervorgangs stumm
–directory-prefix lässt dich das Zielverzeichnis festlegen und ermöglicht dir eine automatische Benennung des jeweiligen Ordners, etwa mit Datumsangabe – wie in unserem Beispiel, dabei steht %Y für das Jahr, %m für den Monat und %d für den Tag. Du kannst hier auch noch Stunden (%H), Minuten (%M) und Sekunden (%S) festlegen, falls du mehrere Backups pro Tag durchführst.
-ftps sorgt dafür, dass eine sichere Verbindung zum FTP-Server hergestellt wird und deine Daten auf dem Weg zu deinem NAS nicht ausgespäht werden können
–ftp-user ermöglicht dir, den Benutzernamen für den FTP-Server festzulegen, sodass anschließend nicht mehr danach gefragt wird
–ftp-password speichert zwar leider dein FTP-Passwort in Klartext, du kannst das Skript aber an einem geschützten Ort belassen, auf den nur du zugreifen kannst
Tipp: Nutzt du ein Passwort mit Sonderzeichen, ist es sinnvoll, das gesamte Passwort in Anführungszeichen zu setzen. % und ! sind hier sehr problematisch, da diese nicht nur als Zeichen interpretiert werden können.
Speichere anschließend die Datei mit der Dateiendung .sh und kopiere diese in ein Verzeichnis deiner Wahl auf dem NAS. Möglicherweise musst du im Windows-Explorer die Dateinamenerweiterungen erst einblenden, da du sonst Gefahr läufst, eine Textdatei zu erstellen.
Öffne hierfür den Windows Explorer, klicke in der Menüleiste auf „Anzeigen“, anschließend auf „Einblenden“ und wähle dort „Dateinamenerweiterungen“.
SSH-Zugang auf dem QNAP-NAS aktivieren
Damit du über eine externe App auf die Konsole deines NAS zugreifen kannst, musst du erst den SSH-Zugang aktivieren. Rufe dafür die Systemsteuerung auf, wechsle in den Bereich „System“ und anschließend in den Abschnitt „Allgemeine Einstellungen“. Im Tab „Console Management“ findest du die Option „Console Management aktivieren“. Setze dort einen Haken und klicke auf den Übernehmen-Button. Jetzt ist der SSH-Zugang aktiv und wartet auf dem Port 22 auf Anfragen.
PuTTY installieren
Da dein QNAP-NAS nicht ab Werk über ein grafisches Interface für sogenannte Cronjobs hat, musst du in die Konsole und dort einige Befehle eingeben. Klingt erst mal kompliziert, ist aber ganz simpel. Lade dir PuTTY herunter. Dabei handelt es sich um ein Terminal, mit dem du dich auf dein NAS aufschalten und dort Befehle ausführen kannst. Klicke dabei auf den gewünschten Installer – beispielsweise den putty-64bit-0.77-installer.msi.
Installiere die App und öffne diese im Anschluss. Segne die Benutzerkontensteuerung gegebenenfalls mit „Ja“ ab. In den Feldern „Host Name (or IP address)“ sowie „Port“ kannst du nun die IP-Adresse deines NAS sowie den Port 22 eingeben. Optional besteht hier die Möglichkeit, im Feld „Saved Sessions“ einen Namen für die Verbindung zu vergeben und diese per „Save“ zu speichern. Die Konsole wirst du noch öfter benötigen und eine gespeicherte Session erspart dir die Eingabe sämtlicher Daten. Klicke zum Herstellen einer Verbindung auf den Open-Button.
Gleich darauf poppt ein Sicherheitsalarm auf, da du noch nie zuvor mit diesem Server verbunden warst und die Verbindung deshalb noch nicht vertrauenswürdig ist. Klicke hier auf „Accept“, um den RSA-Schlüssel des Servers in die Liste der vertrauenswürdigen Verbindungen aufzunehmen.
Backup-Job in PuTTY einbinden
PuTTY fragt dich nun nach deinen Zugangsdaten auf dem NAS. Tippe deinen Benutzernamen (idealerweise mit Admin-Rechten) ein und bestätige mit der [EINGABETASTE]. Wiederhole den Vorgang für das Kennwort. Als Nächstes folgt ein kleiner Screen mit häufig genutzten Befehlen, diese benötigst du aber für dein Vorhaben nicht. Mit [Q] und der [EINGABETASTE] beendest du das „Console Management“. Bestätige noch mit einem [Y] und du landest darauf in der richtigen Konsole.
Rufe die Aufgabenliste auf, indem du folgenden Befehl eintippst oder einfügst:
vi /etc/config/crontab
Jetzt scheinen einige bereits vorhandene Aufgaben auf, die du keinesfalls ändern solltest. Drücke [I], um in den Eingabemodus zu gelangen. Jetzt befindet sich dein grüner Cursor in der linken oberen Ecke – in einem neuen Eintrag. Zusammengefasst besteht jeder sogenannte Cronjob aus 6 Parametern. Möchtest du einen Parameter nicht festlegen, tippe stattdessen einfach einen [*]. Aus diesen Parametern bestehen die Einträge:
- Minute (0-59)
- Stunde (0-23)
- Tag (1-31)
- Monat (1-12)
- Wochentag (0-7, beginnend mit Sonntag)
- Pfad zum Befehl inklusive Namen des .sh-Skripts
Möchtest du also täglich um 23:00 Uhr ein Backup erstellen, sieht der Befehl beispielsweise folgendermaßen aus:
* 23 * * * /share/dein_ordner/skript/skriptname.sh
Lösche dabei außerdem die Platzhalter in der ersten Zeile, keinesfalls aber andere bereits vorhandene Einträge. Speichere deinen Eintrag, indem du erst die [ESC]-Taste drückst, darauf :wq eingibst und mit der [EINGABETASTE] bestätigst.
Lade anschließend die aktualisierte Liste
crontab /etc/config/crontab
und starte den Crontab-Dienst neu
/etc/init.d/crond.sh restart
Jetzt sollte die Einrichtung komplett sein und dein Backup zur gewünschten Zeit loslegen.
HTML-Webseiten wiederherstellen
Möchtest du nun eine gesicherte Webseite wiederherstellen, solltest du der Einfachheit halber einen FTP-Client verwenden. Mit diesem kannst du ganz einfach einen gesamten Ordner auf deinen Webserver ziehen und sämtliche bereits vorhandene (und fehlerhafte) Dateien überschreiben. Kostenlos empfiehlt sich dafür FileZilla oder der in Windows integrierte FTP-Client. Für die sporadische Nutzung reicht Letzterer nämlich völlig aus.
Öffne den Windows Explorer und klicke in der Menüleiste auf die drei kleinen Punkte. Wähle anschließend „Netzwerkadresse hinzufügen“ und „Weiter“. Entscheide dich für „Eine benutzerdefinierte Netzwerkadresse auswählen“ und klicke erneut auf „Weiter“. Gib im Feld „Internet- oder Netzwerkadresse“ die Adresse des FTP-Servers ein:
ftp://[DEINESERVERADRESSE]
Klicke dann auf den Weiter-Button und entferne den Haken bei „Anonym anmelden“. Gib jetzt deinen Benutzernamen ein und klicke wieder auf „Weiter“. Im nächsten Schritt kannst du der Verbindung einen Namen geben, was vor allem bei mehreren eingerichteten FTP-Servern sinnvoll ist. Klicke noch einmal auf „Weiter“ und „Fertig stellen“. Gib im Feld „Kennwort“ noch dein Kennwort ein, wähle „Kennwort speichern“ und klicke zum Abschluss auf „Anmelden“.
Jetzt kannst du ganz unkompliziert direkt über den Windows Explorer das Backup vom NAS auf den Webserver kopieren und dabei defekte oder alle Dateien ersetzen. Sollte es sich dabei um mehr als nur ein paar Dateien handeln, solltest du vielleicht aber lieber auf FileZilla setzen. Damit kannst du bis zu 10 Dateien gleichzeitig übertragen und sogar abgebrochene Uploads wieder fortsetzen.
Wordpress Backup erstellen
Ein großer Teil aller Webseiten im WWW basieren auf der eigentlichen Blogsoftware Wordpress. Mittlerweile wird das Content Management System (CMS) aber für nahezu alle Anforderungen eingesetzt. Aus diesem Grund sind Änderungen am Kern oder den Plugins oftmals heikel. Meist ist ein Update kein Problem, manchmal sieht die Seite dann aber etwas anders aus oder ist gänzlich nicht mehr erreichbar. Ein Backup ist dabei Gold wert. Nämlich eines, das du bereits im Vorfeld, also in funktionierendem Zustand erstellt hast.
FTP auf dem QNAP-NAS einrichten
Damit Wordpress die Backups irgendwo ablegen kann, ist es notwendig, dass du einen FTP-Server auf deinem NAS einrichtest. Rufe das App Center auf und suche über die Suchfunktion nach „FTP Service“. Installiere anschließend QuFTP Service und öffne die App im Anschluss.
Auf der Übersichtsseite kannst du diverse Statistiken zur Übertragungsgeschwindigkeit sowie zu den aktuell verbundenen Nutzern einsehen. Aktuell ist das aber noch nicht interessant. Wechsle in der linken Spalte in den Bereich „Benutzer“ und erstelle dort über den Erstellen-Button einen neuen FTP-Benutzer.
Vergib einen Namen und denke daran, dass dieser idealerweise die Webseite beinhalten sollte. Wenn du mehrere Webseiten auf diese Weise sicherst, solltest du nämlich für jede einzelne Webseite einen eigenständigen Benutzer erstellen. Wähle anschließend ein möglichst sicheres Passwort.
Alle anderen Einstellungen kannst du ignorieren, da wir im nächsten Schritt ohnehin einen Home-Ordner für den jeweiligen FTP-Benutzer festlegen. Dadurch kann jeder Benutzer nur auf seinen eigenen Ordner zugreifen.
FTP-Stammordner zuweisen
Wechsle als Nächstes in der linken Spalte in den Bereich „Regel-Engine“ und klicke auf den Erstellen-Button. Vergib anschließend einen Namen für die Regel, etwa den Namen der zu sichernden Webseite. Setze einen Haken bei „Zugriff nur auf den FTP-Stammordner einschränken“ und wähle dort ein leeres Verzeichnis aus, in welches die Backups kopiert werden sollen.
Bestätige mit dem Hinzufügen-Button und füge gegebenenfalls noch weitere Accounts hinzu – je nachdem, wie viele Webseiten du sichern möchtest.
Portweiterleitung einrichten
Im Normalfall blockiert dein Router sämtliche Anfragen, die von außen kommen. Der FTP-Dienst ist dabei ebenfalls betroffen. Aus diesem Grund ist es notwendig, dass du die genutzten Ports des FTP-Servers in deinem Router freigibst und diese an dein NAS leitest. Der Vorgang unterscheidet sich zwar von Router zu Router, aber die Bezeichnungen sind meist sehr ähnlich. Halte im Webinterface deines Routers nach Begriffen wie Portweiterleitung, virtueller Server, Port-Mapping oder Firewall Ausschau. In der Regel findest du dort die Möglichkeit, Ports an eine bestimmte IP-Adresse im lokalen Netzwerk zu leiten.
FTP nutzt in der Regel den Port 21, sodass du diesen einfach einträgst, eine Ziel-IP wählst, eine Beschreibung vergibst und – in unserem Fall – mit einem Klick auf „Anwenden“ speicherst. Möchtest du hingegen SFTP, also die sichere Variante nutzen, verwende den Port 22.
Plugin installieren und Verbindung einrichten
Wir bedienen uns für unser Vorhaben des Plugins UpdraftPlus. Dieses ist kostenlos erhältlich und bringt in der Gratis-Version die wichtigsten Grundfunktionen mit. Logge dich auf deiner Wordpress-Seite ein und wechsle in den Bereich „Plugins“ und anschließend auf „Installieren“. Suche im Suchfeld nach „Updraft Plus“ und bestätige mit der [EINGABETASTE]. Achte darauf, dass du „UpdraftPlus WordPress Backup Plugin“ auswählst und nicht „Central“ oder „Optimize“. Klicke beim entsprechenden Plugin auf „Jetzt installieren“. Warte die Installation ab und wähle dann „Aktivieren“.
Jetzt erscheint in der obersten Leiste ein neuer Eintrag mit der Bezeichnung „UpdraftPlus“. Bewege den Mauszeiger darüber und wähle „Einstellungen“. Scrolle etwas nach unten und wähle entweder „FTP“ oder „SFTP / SCP“ aus.
Anschließend musst du die Zugangsdaten für den soeben erstellten FTP-Account eingeben sowie die öffentliche IP-Adresse deines NAS. Alternativ kannst du hier auch die Adresse der myQNAPcloud verwenden, sofern du diese eingerichtet hast. Klicke abschließend auf den Button „Teste SFTP/SCP Einstellungen“, um die Verbindung zu testen.
Kurz darauf sollte ein Browser-Popup mit dem Inhalt „SFTP Einstellungs Testergebnis: Erfolg“ aufscheinen. Bestätige mit „OK“. Die Verbindung ist nun eingerichtet. Jetzt fehlt nur noch der Backup-Zeitplan.
Backups erstellen
Scrolle nun ganz nach oben und lege ein Intervall bei „Datei-Sicherungsplan“ fest. Seiten, die sich kaum ändern, benötigen nicht zwingend ein tägliches Backup. Wenn die Seite aber gerade am Entstehen ist oder sich häufig Inhalte ändern, ist ein kürzeres Intervall durchaus sinnvoll. Theoretisch kannst du hier sogar im 2-Stunden-Takt Backups anfertigen. Ebenso kannst du das Intervall für die Datenbanksicherung festlegen. Idealerweise sollten beide Werte identisch sein – und die Datenbank ist in der Regel ziemlich klein, sodass der Mehrverbrauch kaum ins Gewicht fällt.
Essenziell ist jedoch die Anzahl der aufbewahrten Sicherungen. Nichts ist nervenaufreibender als ein Fehler, der monatelang unentdeckt bleibt und es dann keine älteren Backups mehr gibt, weil diese bereits durch neue überschrieben worden sind. Aus diesem Grund solltest du, vor allem, wenn du auch genug Speicherplatz zur Verfügung hast, die Anzahl der Sicherungen erhöhen. Es schadet keinesfalls, wenn deine Backups bis zu einem halben Jahr zurückreichen. Oftmals dauert es nämlich eine Weile, bis ein Fehler tatsächlich entdeckt wird. Ältere Backups werden dann automatisch gelöscht, sobald ein neues erstellt wird. Vergiss nicht, ganz nach unten zu scrollen und deine Einstellungen zu speichern.
Zwar unterstützt UpdraftPlus zwar auch inkrementelle Backups, sodass du hier viel Speicherplatz einsparen könntest. Jedoch ändert sich bei Wordpress so vieles, dass du die Funktion in der Regel vernachlässigen kannst. Hier gilt: Probieren geht über Studieren.
Wordpress-Seiten wiederherstellen
Wurde auf deiner Wordpress-Seite ein Problem festgestellt, kannst du im Idealfall ein früheres Backup einspielen und so sämtliche Fehler aus der Welt schaffen. Wechsle in den Tab „Sicherung / Wiederherstellung“ und scrolle zu den bestehenden Sicherungen. Bei jedem einzelnen Backup kannst du diesen über den Button „Wiederherstellen“ einspielen.
Wähle anschließend die gewünschten Objekte aus, die du wiederherstellen möchtest. Nicht immer ist es beispielsweise notwendig, die Uploads oder den Wordpress-Kern neu aufzuspielen. Bei Letzterem musst du sogar vorsichtig sein, falls du einmal die Zugangsdaten zur Datenbank oder eine .htdocs-Datei verändert hast. Hier kann es nämlich vorkommen, dass du dich dann aus Wordpress aussperrst. Klicke auf „Weiter“ und warte, bis das Backup hochgeladen wurde. Ist der Vorgang abgeschlossen, kannst du über den Wiederherstellen-Button die ausgewählte Sicherung aufspielen.
Wenn du nicht mehr auf die Seite zugreifen kannst
Manche Fehler oder Viren haben es echt in sich. Im schlimmsten Fall kannst du dabei nicht mehr auf deine Wordpress-Seite zugreifen, sprich, dich auch nicht mehr einloggen. Hier hast du auch keinen Zugriff mehr auf die Updraft-Sicherungen. Das bedeutet aber nicht, dass alles verloren ist. Über deinen Webspace-Anbieter oder einen eingerichteten FTP-Server kannst du deine Seiteninhalte löschen – das gilt auch für die Datenbank. Je nach Anbieter ist die Vorgehensweise unterschiedlich, im Verwaltungs-Interface sollten die Methoden aber meist selbsterklärend sein. Bist du dir nicht sicher, wie du Dateien und Datenbank löschst, sieh in den FAQ nach oder im Hilfebereich des Providers.
Sobald du deine Wordpress-Seite plattgemacht hast, ist es an der Zeit, eine frische Wordpress-Installation herunterzuladen. Scrolle etwas nach unten und klicke auf den großen blauen Button „Download WordPress [+Versionsnummer]“. Entpacke anschließend die Zip-Datei in einen Ordner deiner Wahl und kopiere alle Dateien und Ordner auf deinen nun leeren FTP – entweder wie oben beschrieben, über den Windows Explorer oder über FileZilla. Achte hier aber darauf, dass du die Inhalte des Ordners auf dieselbe Verzeichnisebene kopierst. Kopiere also nicht den in der Zip-Datei enthaltenen Ordner „wordpress“, sondern nur dessen Inhalt auf deinen Server.
Es handelt sich hier um tausende Dateien, sodass die Übertragung nicht selten ein paar Stunden dauern kann, vor allem über den Windows Explorer. Sobald alle Dateien und Ordner kopiert wurden, kannst du deine Wordpress-Seite erneut aufrufen. Jetzt landest du im Setup-Assistenten. Lege hier erst die Sprache und dann einen temporären Seitentitel sowie Benutzername und Kennwort fest. Logge dich anschließend mit deinen soeben gewählten Zugangsdaten ein und installiere UpdraftPlus.
Richte die Verbindung zu deinem Server ein, auf welchem sich die Backups befinden. Wechsle dann in den Tab „Sicherung / Wiederherstellung“ und klicke auf „Remote-Speicher erneut einlesen“. Dieser Befehl klappert sämtliche Backups auf deinem Server ab und fügt sie der Liste hinzu. Jetzt kannst du wie gewohnt über den Wiederherstellen-Button die letzte Sicherung einspielen. Wähle dieses Mal jedoch alle Punkte an. Danach wirst du ausgeloggt und kannst dich mit deinen alten Zugangsdaten anmelden.
Weitere Alternativen für ein sicheres Backupkonzept
Dir sind die gesamte Einrichtung und Betreuung der Backups zu viel Aufwand? Zahlreiche Webhoster übernehmen diese verantwortungsvolle Aufgabe sogar bereits und bieten eine Backup- und Wiederherstellungsfunktion. Manche davon sogar standardmäßig, ohne höhere Kosten. Informiere dich also am besten, bevor du Backups selbst in die Hand nimmst, ob dein Anbieter diese Funktion nicht ohnehin bereits zur Verfügung stellt. Du kannst hier zwar meist keine großartigen Einstellungen wie Intervall, Umfang oder Aufbewahrungsrichtlinien festlegen, aber so viele Details benötigst du auch nicht immer. Hier musst du abwiegen, was für dich die komfortablere (und trotzdem sichere) Lösung ist.