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.
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
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
Probleme melden unter: https://github.com/do-while/contao-BackupDB/issues