BackupDB

Aus Contao Community Documentation

Modul zur Sicherung der MySQL-Datenbank und zur Erstellung eines Website-Templates.

Erweiterungs-Übersicht
Name des Entwicklers Hagen Klemp (do_while)
Entwickler Webseite http://www.softleister.de
Version der Erweiterung 1.6.0 stable
Kompatibilität mit Contao Version 2.9.x - 2.11.5
Kompatibilität mit TYPOlight Version 2.6.0 - 2.8.x
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/BackupDB.de.html

Forum

Fragen zum BackupDB-Modul werden im Forum beantwortet: Forum - BackupDB-Erweiterung

Installation

Die Installation erfolgt normal über das Extension Repository im Backend der Contao Installation.
Eine manuelle Installation ist möglich, dazu die ZIP Datei vom Extension Repository laden, entpacken und entsprechend übertragen. Bitte auch auf die richtige Übertragung der .htaccess-Dateien achten. Die .htaccess-Dateien in den einzelnen Verzeichnissen, werden zur Absicherung gegen direkten Zugriff aus dem Internet benötigt.


Das Installtool von Contao braucht nicht aufgerufen zu werden, da das Modul keine Datenbankveränderungen vornimmt oder eigene Tabellen anlegt.


Backend-Modul "Backup Datenbank"

Eine Datensicherung der MySQL-Datenbank ist wichtig, wenn ein Störfall aufgetreten ist. Mit der Datensicherung läßt sich die Datenbank komplett wieder neu erstellen. Eine Dateisicherung wird von BackupDB nicht ausgeführt, diese sollte man zusätzlich sichern, um für den Ernstfall gerüstet zu sein.

Es gibt ein paar Punkte, die beachtet werden müssen:

  • BackupDB kann nicht Datenbanken jeder Größe sichern! Erfahrungswerte liegen bei max. 10-12 MByte, das ist aber stark von dem Aufbau der Website, der Serverperformance und der Datenbankanbindung abhängig. Wenn das Backup komplett fertig geworden ist, steht in der letzten Zeile der SQL-Datei "# --- End of Backup ---".
  • Eine Datensicherung kann nicht für den Datentransport in ein anderes Contao- oder TYPOlight-Release (z.B. Update) verwendet werden!
  • Ein Website-Template kann nur in einem gleichen System verwendet werden, d.h. gleiche Contao-Version und gleiche Erweiterungen mit gleichen Versionen. Grund ist, dass die Datenbankstruktur nicht im Website-Template gespeichert ist und so beim Import 100% übereinstimmen muss.


Datenbank sichern

Backup starten

Um die komplette Datenbank zu sichern, klickt man im Backend einfach auf den Button "SQL-Backup starten". Daraufhin öffnet sich ein Downloadfenster, wo man das Zielverzeichnis auf dem lokalen System angibt.


Website-Template erstellen

Template erstellen

Das Website-Template kann genutzt werden, um über das Installtool eine fertige Umgebung einzurichten. Wichtig ist dabei, dass sowohl Contao, als auch die verwendeten Erweiterungen in den Versionen vorhanden sind, die beim Speichern des Website-Templates vorlagen.

Es werden dabei zwei Dateien erstellt:

  1. die Datenbankdatei *.sql
  2. eine Textdatei, in der die erwarteten Erweiterungen und Versionen stehen

Die Dateien werden normalerweise im /templates-Verzeichnis erstellt. Weiter unten ist erklärt, wie man auch ein anderes Zielverzeichnis einstellen kann.

Parameter in den Systemeinstellungen

Es gibt einige Einstellungen, die sich im Backend im Systemmenü unter Einstellungen befinden. BackupDB Einstellungen

Blacklist für Backups
Oft ist das Backup für den Notfall gedacht, um die Installation wieder herstellen zu können. Gerade, wenn die Suchfunktion verwendet wird, gibt es oft sehr große Tabellen, die das Backup unnötig groß werden lassen. Mit der Blacklist, kann man das Speichern dieser Daten im Backup gezielt verhindern. Die Tabellen tl_lock, tl_log, tl_search, tl_search_index, tl_session, tl_undo, tl_version enthalten Informationen aus der Historie oder sind wieder herstellbar.

Datentabellen im Website-Template
In BackupDB wurden bis Version 1.3.0 im Export nur Contao-Tabellen berücksichtigt, die mit tl_ beginnen. Jetzt besteht die Möglichkeit, im Einstellungen-Menü eine Liste an Datentabellen anzugeben. Es können einzelne Tabellen hinzugefügt werden oder auch nur die Prefixe, wie z.B. cat_ für Catalog-Tabellen.
In diesem Fall gibt man tl_,cat_ an.

Alternativer Pfad für Website-Template
Das Website-Template wird normalerweise im Verzeichnis templates gespeichert, ab Version 1.3.0 kann der Speicherort auch verändert werden, z.B. tl_files/templatefile

Backup komprimieren
Ab Version 1.6.0 kann das Automatische Backup die SQL-Datei in ein ZIP-Archiv verpacken. Zusammen mit der neuen Mail-Funktion ist es sinnvoll, die Datenmenge zu minimieren.

Anzahl der Backups bei AutoBackupDB
Das Autobackup per cron-Erweiterung verwendet normalerweise 3 Backupdateien, die sich in dem Verzeichnis tl_files/AutoBackupDB befinden. Das neueste Backup ist immer in AutoBackupDB-1.sql gespeichert und in -2 und -3 sind die älteren Backups vorhanden. Wenn einem die letzten 3 Backups nicht ausreichen, läßt sich durch einen Eintrag die Anzahl erhöhen.

E-Mail-Benachrichtigung nach AutoBackup
Bei einem automatisch gesteuerten Backup durch die Cron-Erweiterung oder direkt von einem echten Cron gestartet (ab Version 1.6.0) hat man keine Übersicht, ob das Backup zuverlässig läuft. Eine Nachricht im Fehlerfalle ist oft nicht möglich, da das Script vom Server abgebrochen wird, bevor die Mail gesendet werden kann. Es bleibt aber die Möglichkeit, bei Erfolg eine Mail zu schicken. Mit der Benachrichtigungsmail haben Sie diese Möglichkeit.

AutoBackup-Datei anhängen
Für den Fall, dass man die Benachrichtigungsmail eingeschaltet hat, ist es möglich, in der Mail gleich die aktuelle Datensicherung als Attachment mitzusenden.

Automatisches Backup

Für ein automatisch ausgeführtes Backup wird zusätzlich die Erweiterung cron benötigt. Wenn die Erweiterung installiert ist, bietet BackupDB an, dort einen cronjob anzulegen. Cron eintragen

Nach einem Klick auf diesen Link ist der Cronjob vorgemerkt, aber noch inaktiv, um dem Anwender die Möglichkeit zu geben, die Einstellungen und Zyklen nach Bedarf einzustellen: Cron inaktiv

Im Menü des Schedulers (cron) kann das AutoBackup aktiviert werden, indem man einfach auf den rote-LED-Icon klickt (wird dann grün) Cron Menü

Im BackupDB-Menü sieht man dann die Anmerkung, dass der Cronjob aktiv ist.

Cron aktiv


Anmerkung:

Der Cron der cron-Erweiterung ist nicht automatisch ein echter Cron. Er wird nur über Aufrufe im Backend gesteuert. Wenn nur selten jemand im Backend arbeitet, kann es sein, dass der Cron auch lange nicht ausgeführt wird. Abhilfe:

  • man kann ein kleines Script in das Seitenlayout einbauen, um auch Trigger aus Frontendaufrufen zu erhalten
  • man kann den CronController mittels echtem Cronjob vom Server aufrufen lassen.

Weitere Infos dazu unter www.contifex.com

Ansichten
Meine Werkzeuge

Contao Community Documentation

Chuck Norris programmiert kein PHP, er diktiert das Ergebnis. Den Rest macht der Editor aus Angst.

Stefan Lindecke
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge