In so einer WordPress-Datenbank sammeln sich im Laufe der Zeit eine Menge Daten (Beiträge, Kommentare, etc). Ohne die Datenbank ist eine WordPress-Installation wertlos, da alle Inhalte aus der Datenbank kommen.
Daher wäre es wirklich ärgerlich, wenn die Daten in der Datenbank verloren gehen würden. Zum Beispiel durch ein Plugin, dass einen Fehler enthält und die Datenbank löscht. Upps. Das wär es dann mit dem Blog.
Gegen solche Datenverluste hilft nur ein Backup. In WordPress bietet das „Wp-DB-Backup“-Plugin die Möglichkeit, die Datenbank schnell und unkompliziert zu sichern. Leider nur manuell. Man muss also immer daran denken, Backups zu erstellen. Mit dem „Wp-Cron“-Plugin vom selben Autor lässt sich ein Backup z.B. jede Stunde erstellen. Allerdings ist das Plugin davon abhängig, dass zur passenden Zeit jemand das Blog aufruft. Zudem verzögert sich der Seitenaufbau für den Besucher, der auserwählt wurde, um das Backup-Script zu starten.
Eleganter geht es mit eine kostenlosen Cronjobservice, über den pixelgraphix heute berichtet hat (Natürlich geht es auch mit Cronjobs, die der eigene Webhoster anbietet). Ich verwende eine modifizierte Version des „Wp-DB-Backup“-Plugins, dass ich von dem Cronjob jede Stunde aufrufen lasse. Die Modifizierung ist notwendig, da das Script ja unabhängig von der WordPress-Umgebung funktionieren soll, was nicht der Fall ist, wenn man es als WP-Plugin entwickelt, wie das „Wp-DB-Backup“-Plugin.
Durch den stündlichen Aufruf des Scriptes entsteht jede Stunde ein neues Datenbank-Backup. Ein zweiter Cronjob ruft einmal täglich ein ähnliches Script auf, dass ein Backup per E-Mail an mich sendet. So habe ich immer noch ein maximal 24 Stunden altes Backup, falls der Server mal komplett abraucht und die darauf gespeicherten Backups im Nirvana verschwinden.
Das Einzige, das mir noch fehlt, ist eine Routine, die alte Backups löscht, um das Backupverzeichnis auf dem Webserver nicht unnötig aufzublähen. Allerdings hält sich die Größe des Backups mit knapp 250kb noch sehr in Grenzen.
Falls jemand Interesse an dem Script hat, dass sich von einem CronJob aufrufen lässt, bin ich gerne bereit, dies hier zu veröffentlichen.