Backup der eigenen Homepage erstellen


Daten im Magenta Business Webhosting werden natürlich redundant gespeichert. Damit ist ein Datenverlust auf betrieblicher Ebene weitestgehend ausgeschlossen. Was ist aber, wenn eine Datei aus Unachtsamkeit gelöscht wurde? Oder die Buchhaltung das Webhosting-Paket gekündigt hat? Oder Hacker sich Zugriff verschaffen und alles löschen? In solchen Fällen hilft nur ein persönliches Backup, das alle relevanten Daten außerhalb des Hostings sichert.

Manuelles Backup

Die Homepage ist erstellt und es finden wenige Änderungen statt? Es gibt keine Interaktion mit Besuchern, auf der Webpräsenz? Dann reicht es, nach den jeweiligen Änderungen einmal flott ein manuelles Backup zu erzeugen. Dazu einfach per SSH mit dem Hosting verbinden.

Wird eine MySQL-Datenbank verwendet? Dann lässt sich mit folgendem Befehl das Backup erzeugen:

 

mysql -h mysqla.service -u SQL-Benutzername -pSQLPasswort Datenbankname < /home/www/public_html/dateiname.sql

 

Wobei Benutzername, Passwort und Datenbankname natürlich durch die eigenen Daten ausgetauscht werden müssen.

Tipp: Fühlt man sich in der Konsole nicht so sicher, kann der entsprechenden Befehl auch in Notepad / einem Editor einfügen. Hier dann die Daten aus dem Homepage Center herausholen und an die richtig Stelle einfügen. Anschließend den fertigen Befehl in die Zwischenablage kopieren und mit Strg+Umschalttaste+V in die Konsole einfügen und mit Enter abschicken.

Ist die Datenbank gesichert, wird ein Paket aller Dateien geschnürt. Das passiert mit dem Befehl:

 

zip /home/www/public_html/wunschdateiname.zip /home/www/public_html -r

 

Je nach Größe und Anzahl der Dateien dauert es jetzt einen Moment. Ist der Vorgang abgeschlossen, in den Browser wechseln und https://domain.de/wunschdateiname.zip eingeben. Es startet der Download der Sicherung. Am Ende des Downloads befindet sich eine vollständige Sicherung der Homepage auf dem Endgerät.

Jetzt noch die Sicherungsdateien vom Server wieder löschen.

 

rm /home/www/public_html/wunschdateiname.zip
rm /hom/www/public_html/dateiname.sql

 

Achtung: Beim Löschen wirklich genau auf die Schreibweise achten. rm /home/www/public_html würde sofort die vollständige Homepage löschen.

Regelmäßiges / automatisiertes Backup

Wer einen Shop, ein Forum, ein Blog oder ähnliches betreibt, also eine Internetseite, auf der sich ständig Dinge ändern, der sollte regelmäßig Backups durchführen. Sinnvoll ist dazu einen Speicherplatz außerhalb des Magenta Business Hosting zu wählen. Der Speicherplatz muss sFTP bzw. SSH-Zugriff ermöglichen. Da bietet sich die Hetzner Storage Box an. Auch der Anbieter Limetec ist hier eine Option. Aber sicherlich gibt es auch noch andere Anbieter.

Ist ein Cloudspeicher gebucht und liegen die Zugangsdaten vor (Server / Host, Benutzername und Passwort)? 

Gut, dann im Homepage Center unter Website auf den Punkt Cronjob wechseln.

Hinweis: Bei dem Produkt Webhosting Basic wäre ein Upgrade auf das Webhosting Pro erforderlich.

Gibt es eine MySQL-Datenbank? Dann wird ein Cronjob angelegt, der die Datenbank sichert. Dazu auf "Neuer Cronjob" klicken und die Eingabemaske befüllen. Unter Cronjob Skript wird der Befehl

 

mysql -h mysqla.service -u SQL-Benutzername -pSQLPasswort Datenbankname < /home/www/dateiname.sql

 

eingetragen. Benutzername, Passwort und Datenbankname müssen natürlich gegen die eigenen Daten getauscht werden.

Darunter die Häufigkeit des Backups auswählen. Hier im Beispiel: Jede Nacht um 1 Uhr. Unten den Haken bei Cronjob aktivieren anklicken, Speichern und Fertig.

Jetzt folgt der Cronjob, der alle Daten auf den externen Server überträgt. Da der Cronjob kein Passwort eingeben kann und das Passwort für die Verbindung nirgends gespeichert wird, muss zuerst eine Public Key-Authentifizierung eingerichtet werden. Dabei wird ein Schlüsselpaar auf den beiden Servern hinterlegt. Dazu bitte per SSH mit dem Server verbinden und die folgenden Befehle ausführen:

 

ssh-keygen -f /home/www/privat/key -b 4096
ssh-copy-id -i /home/www/privat/key.pub user@server@hostname.de

 

Die SSH Verbindung kann wieder geschlossen werden und im Homepage Center ein neuer Cronjob anlegt werden. Eingabemaske befüllen und das entsprechende Skript sieht dann so aus:

 

rsync -avz --delete /home/www/ benutzername@Externerhost:/pfad-auf-demzielserver -e "ssh -o 'StrictHostKeyChecking no' -i /home/www/privat/key"

 

Jetzt wird jede Nacht geprüft, welche Änderungen sich auf dem Server ergeben haben. Die dann zum externen Server gespiegelt werden.

Quellen und weitere Informationen: