Datenbanksicherung

Von der Contao Academy gibt es ein Video zu der BackupDB-Erweiterung.
Vielen Dank an Christian Feneberg.

  Contao Datenbank mit BackupDB sichern

 

Sicherung der Contao-Datenbank, automatisches Backup, Erstellung von Website-Templates für das Install Tool

Dieses Modul erweitert den Systembereich im Backend.

Download MySQL-Backup

Mit einem Mausklick kann auf einfache Weise die komplette Datenbank gesichert werden. Die Backupdatei erhält man als Download um sie außerhalb des Webservers sichern zu können, z.B. auf dem eigenen PC.

Automatisches Backup

Mit einem Server-Cronjob ist es möglich regelmäßige Backups der Datenbank ausführen und auf dem Webspace zu speichern. Rufen Sie dazu die folgende URL auf:

http://www.meineDomain.tld/BackupDB/autobackup

Um Spamming zu verhindern, kann in den Einstellungen eine Kennung eingegeben werden, die als Variable dem AutoBackup-Aufruf mitgegeben werden muss. Ohne diese Variable wird kein Backup erstellt. Damit läßt sich der Aufruf individualisieren.

Beispiel:
Eingabe in den Einstellungen "Individueller Aufrufparameter": mEXde3iD
Aufruf: http://www.meineDomain.tld/BackupDB/autobackup?mEXde3iD

Website-Template erstellen

Zusätzlich können auch Website-Templates für das Install Tool gespeichert werden. Diese Website-Templates können im InstallTool geladen werden.

ACHTUNG! Die Website-Templates eignen sich NICHT zur Übertragung einer Datensicherung auf ein anderes Contao-Release, da sich dabei in der Regel die Datenbank-Struktur ändert.

Einstellungen

In den Einstellungen von Contao gibt es einen Abschnitt „BackupDB Einstellungen“. Hier kann das Backup konfiguriert werden.

Blacklist für Backups

Bei größeren Datenbanken kann es passieren, dass die maximale Scriptlaufzeit überschritten wird und das Backup vom Server abgebrochen wird. Das Backup ist dann nicht erfolgreich.
Mit der Blacklist kann verhindert werden, das Daten gespeichert werden, die nicht unbedingt bei einer Wiederherstellung benötigt werden. Die Tabelleninhalte von tl_log, tl_search, tl_search_index, tl_session, tl_undo und tl_version sind für den Notfall nicht relevant und brauchen nicht unbedingt gesichert werden. Beispielsweise kann man durch Auslassen des Suchindexes die Scriptlaufzeit meist deutlich verkürzen.

Beispieleintrag in der Blacklist:
tl_log, tl_search, tl_search_index, tl_session, tl_undo, tl_version

Datentabellen im Website-Template

In einem Website-Template sind normalerweise nur Inhalte aus den Datenbanktabellen enthalten, die mit tl_ beginnen. Wenn Sie weitere Tabellen mitsichern möchten, tragen Sie die ersten Buchstaben der Tabellen hier ein.

Beispiel für Core- und MetaModels-Tabellen: tl_, mm_

Alternativer Pfad für Website-Templates

Die Website-Template-Dateien werden normalerweise im Verzeichnis templates erstellt, weil das Installtool auch hier diese Dateien erwartet. Wenn Sie die Dateien in einem anderen Verzeichnis speichern möchten, geben Sie den Pfad hier an.

Dateien:
*.sql               Template-Datei zum Import im Install Tool
*.txt               Textdatei mit einer Kurzanleitung
*.structure   Datei mit der Datenbankstruktur

Backup mit Restoreinfos komprimieren

Das manuelle Backup per Download und das AutoBackup per Cronjob kann komprimiert werden. Da dazu ein ZIP-Archiv erstellt wird, können weitere wichtige Informationen für ein Restore hinzugefügt werden:
    * Datenbank-Backup
    * composer.json
    * composer.lock
    * restoreSymlinks.php

Das Datenbank-Backup mit den Zusatzinformationen zusammen mit einem gespeicherten FTP-Backup sollten ausreichen, um eine laufende Installation neu aufzusetzen.

Anzahl der Backups bei AutoBackupDB

Beim AutoBackup werden alte Sicherungen nicht gleich überschrieben. Die Backups sind durchnummeriert, wobei die Datei AutoBackupDB-1 immer das aktuelle Backup enthält. Standardmäßig werden die letzten 3 Backups aufgehoben. In diesem Feld können Sie die Anzahl der Backups festlegen.

E-Mail mit AutoBackup-Datei im Anhang

Das AutoBackup sendet auf Wunsch nach erfolgreichem Backup eine Mail an den Systemadministrator (siehe Einstellungen), diese Mail kann als Anhang die Backupdatei enthalten. Wenn das Backup komprimiert ist, enthält das ZIP zusätzliche Restoreinfos (siehe oben).

Wiederherstellung der Symlinks

Mit einem komprimierten Backup können Sie die Symlinks wieder herzustellen. Speichern Sie dazu die Datei restoreSymlinks.php in das web-Verzeichnis Ihres Contaos und rufen die Datei wie folgt auf:
http://www.meineDomain.tld/restoreSymlinks.php