WordPress Backup per Cronjob – sicher unterwegs sein!

Hallo Leute,

ich hoffe, dass die meisten von auch aus reiner Vorbeugung auf diesen Beitrag geklickt haben und nicht aus dem Grund, weil ihr gerade eure gesamte WordPress-Installation verloren habt!
Täglich werden Millionen von Websites gehackt, die meisten Angriffe kommen von sogenannten „Bots“, was stellvertretend für „Roboter“ steht.

Sie werden von Menschen programmiert und dann ins Netz geschickt um bei jeder Website bei der sie vorbeikommen einmal ihre gelernten Hackerangriffe auszuprobieren. Websitebetreiber, die sich dessen bewusst sind, können ihre Seite mit relativ simplen Methoden gegen solche Angriffe absichern. Dazu kommt auch mit Sicherheit einnmal ein Blogpost.

Doch heute geht es um das berühmte „Was wäre, wenn …“
Was wäre, wenn ihr Opfer eines Hack-Angriffs wurdet und eure Seite völlig durcheinander gebracht wurde?
Möglicherweise wurden in eurem Namen unvertretbare Artikel auf eurem Blog gepostet oder euer Passwort wurde geändert, wodurch ihr nicht mehr in euer Backend gelangen könnt…

Mögliche Szenarien gibt es haufenweise und die meisten mögen auch mit ein paar Stunden Arbeit wieder korrigiert werden, aber rufen wir uns nocheinmal das „was wäre, wenn …“ auf.

Was wäre, wenn es eine Möglichkeit gäbe, nach einem Hacker-Angriff eine simple Code-Zeile ins Terminal einzugeben und schon wäre ein vollständiges Backup vom letzten Tag wieder eingespielt worden und ihr könnt wieder weiter an eurer Seite arbeiten?
Das wäre doch der Traum. Somit könnte man ganz unbesorgt bestimmte Sachen ausprobieren und falls einmal etwas schiefgehen sollte – einmal schnell ein paar Wörter eingetippt und schwupps, habt ihr eure alte Seite wieder.

Ich habe diese Methode bei blogs54.de gesehen und wollte sie euch nicht vorenthalten.

Nun, ich zeige euch heute wie ihr genau das anstellen könnt! Nach dieser viel zu langen Einleitung, machen wir uns auch wirklich ans Werk!

 

Einrichtung eines Backup-Ordners

Im ersten Schritt verbindet ihr euch mit eurem FTP-Server über einen FTP-Client, wie zum Beispiel FileZilla und erstellt (am besten einen Ordner über eurer WordPress Installation) einen Ordner welchen ihr schlicht und einfach „Backup“ nennt.
Ich ging noch einen Schritt weiter und habe in meinem Backup-Ordner noch zwei weitere Ordner für FTP und MySQL erstellt. Dies hilft mir einen besseren Überblick zu behalten.

 

Erstellung einer .htaccess

Auch eure Backups enthalten sensible Daten! Darum empfehle ich euch in jedem Ordner eine .htaccess anzulegen.
Diese muss auch nicht besonders viel können. Einfach folgenden Code kopieren, in ein Text-Dokument einfügen und als .htaccess speichern.
deny from all

 

Ermittlung eures ROOT-Verzeichnises

Euer ROOT-Verzeichnis benötigt ihr für das untenstehende Script. Dieses ist auch kinderleicht ermittelt.
Erstellt einfach eine root.php mit folgendem Inhalt:

Ladet diese Datei mittels FTP-Client direkt in eure WordPress-Installation und surft sie in eurem Browser an:
http://euredomain.at/root.php

Lasst das Browserfenster am Besten offen. Ihr werdet diesen Pfad im weiteren Verlauf dieser Anleitung noch öfter benötigen!
Ersetzt einfach jedes „ROOT-VERZEICHNIS“ in den Code-Zeilen durch euren persönlichen Pfad.

 

Erstellung der Updates via Shell-Script

Ja, ich weiß, die Überschrift lässt komplizierten Code erahnen! Ich müsst jedoch nicht mehr machen als den folgenden Code in einem Text-Editor eurer Wahl (Editor, Dreamveawer, Coda2, Notepad++, etc), jedoch NICHT in Word(!) zu kopieren.

Am Anfang eures Scripts muss unbedingt folgender Code stehen! Ansonsten wird das Ganze nicht funktionieren!
#!/bin/bash

Um eure gesamte WordPress-Installation zu sichern benötigt ihr folgenden Code:
Dieser ermöglicht es euch, alle Dateien zu komprimieren und als .tar.gz in eurem Backup-Ordner zu sichern.

 

 

Mithilfe des „mysqldump“ Befehls könnt ihr eure Datenbank exportieren und ebenfalls in eurem Backup-Ordner sichern.
Denkt daran, eure persönlichen Zugangsdaten im Script einzusetzen. (HOSTNAME, DB-BENUTZER, DB-PASSWORT & DB-NAME)

 

Backups nach 10 Tagen automatischen löschen

Falls ihr dieses Script nun per Cronjob täglich ausführen lässt, wird jeden Tag ein neues Backup mit dem aktuellen Datum generiert.
So wird ziemlich schnell der gesamte Speicherplatz aufgebraucht und irgendwann kann der Server kein Backup mehr erstellen, da ihm dafür schlicht und einfach der Speicher fehlt.
Darum fügen wir noch zwei Zeilen Code hinzu um so alle Backups automatisch zu löschen, die älter sind als 10 Tage.

 

Gesamtes Shell-Script

Hier habe ich euch übersichtshalber noch einmal den gesamten Code in ein File hineinkopiert:

 

Upload der Backup.sh auf euren FTP-Server

Speichert euer Dokument als Backup.sh auf eurem Desktop und ladet es anschließend in den, vorhin erstellten, Backup-Ordner.

Nun sind alle Vorbereitungen getroffen.
Wir müssen unserem Server lediglich noch mitteilen, dass er dieses Script jeden Tag (am besten so gegen 02:30 wegen geringer Zugriffszahlen) ausführen soll. Dies geschieht mit Hilfe eines sogenannten „Cronjobs“.
Wie genau ihr per SSH auf euren Server zugreifen und dort Cronjobs erstellen könnt, erfahrt ihr jedoch erst im nächsten Blogpost – also nächsten Freitag!

Bis dahin, viel Erfolg bei der Erstellung eurer persönlichen Backup.sh.
Euer Alex

Empfohlene Beiträge

Noch kein Kommentar, Füge deine Stimme unten hinzu!


Kommentar hinzufügen

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

vierzehn − 3 =