BackupDB: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Backend-Modul "Backup Datenbank")
(Experteneinstellungen entfallen, da alle Parameter jetzt direkt zugänglich sind)
 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
Modul zur Sicherung der MySQL-Datenbank und zur Erstellung eines Website-Templates.
 
Modul zur Sicherung der MySQL-Datenbank und zur Erstellung eines Website-Templates.
 
{{ExtInfo
 
{{ExtInfo
| Dev=Hagen Klemp (do_while)
+
| Dev=Hagen Klemp ([[User:do_while|do_while]])
 
| DevSite=http://www.softleister.de
 
| DevSite=http://www.softleister.de
| ExtVersion=1.2.0
+
| ExtVersion=1.6.0 stable
| Version=ab 2.9.x
+
| Version=2.9.x - 2.11.5
 
| TLVersion=2.6.0 - 2.8.x
 
| TLVersion=2.6.0 - 2.8.x
 
| ERLink=http://www.contao.org/erweiterungsliste/view/BackupDB.de.html
 
| ERLink=http://www.contao.org/erweiterungsliste/view/BackupDB.de.html
Zeile 29: Zeile 29:
 
* 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.
 
* 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===
 
===Datenbank sichern===
[[Datei:BackupDB_Backup_starten.jpg]]
+
[[Datei:BackupDB_Backup_starten.jpg|Backup starten]]
  
Um die komplette Datenbank zu sichern, klickt man im Backend einfach auf den Button "SQL-Backup starten". Daraufhin tut sich ein Downloadfenster auf, wo man das Zielverzeichnis auf dem lokalen System angibt.
+
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===
 
===Website-Template erstellen===
[[Datei:BackupDB_Template_erstellen.jpg]]
+
[[Datei:BackupDB_Template_erstellen.jpg|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.
 
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.
Zeile 46: Zeile 45:
 
# eine Textdatei, in der die erwarteten Erweiterungen und Versionen stehen
 
# 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.
+
Die Dateien werden normalerweise im /templates-Verzeichnis erstellt. Weiter [[#Anderen_Speicherort_für_Website-Templates_festlegen|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.
 +
[[Datei:Backupdb160.jpg|BackupDB Einstellungen]]
 +
 
 +
'''Blacklist für Backups'''<br />
 +
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'''<br />
 +
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.<br />
 +
In diesem Fall gibt man ''tl_,cat_'' an.
 +
 
 +
'''Alternativer Pfad für Website-Template'''<br />
 +
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'''<br />
 +
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'''<br />
 +
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'''<br />
 +
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'''<br />
 +
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===
 
===Automatisches Backup===
 
Für ein automatisch ausgeführtes Backup wird zusätzlich die Erweiterung [http://www.contao.org/erweiterungsliste/view/cron.de.html cron] benötigt. Wenn die Erweiterung installiert ist, bietet BackupDB an, dort einen cronjob anzulegen.
 
Für ein automatisch ausgeführtes Backup wird zusätzlich die Erweiterung [http://www.contao.org/erweiterungsliste/view/cron.de.html cron] benötigt. Wenn die Erweiterung installiert ist, bietet BackupDB an, dort einen cronjob anzulegen.
[[Datei:BackupDB_Cron_eintragen.jpg]]
+
[[Datei:BackupDB_Cron_eintragen.jpg|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:
 
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:
[[Datei:BackupDB_Cron_inaktiv.jpg]]
+
[[Datei:BackupDB_Cron_inaktiv.jpg|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)
 
Im Menü des Schedulers (cron) kann das AutoBackup aktiviert werden, indem man einfach auf den rote-LED-Icon klickt (wird dann grün)
[[Datei:BackupDB_Cron_menu.jpg]]
+
[[Datei:BackupDB_Cron_menu.jpg|Cron Menü]]
  
 
Im BackupDB-Menü sieht man dann die Anmerkung, dass der Cronjob aktiv ist.
 
Im BackupDB-Menü sieht man dann die Anmerkung, dass der Cronjob aktiv ist.
  
[[Datei:BackupDB_Cron_aktiv.jpg]]
+
[[Datei:BackupDB_Cron_aktiv.jpg|Cron aktiv]]
  
  
Zeile 71: Zeile 95:
 
* man kann den CronController mittels echtem Cronjob vom Server aufrufen lassen.
 
* man kann den CronController mittels echtem Cronjob vom Server aufrufen lassen.
 
Weitere Infos dazu unter [http://contifex.com/wiki/extensions/cron www.contifex.com]
 
Weitere Infos dazu unter [http://contifex.com/wiki/extensions/cron www.contifex.com]
 
 
.
 
 
=Experteneinstellungen=
 
 
===Anzahl der AutoBackup-Dateien einstellen===
 
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 '''-1''' und '''-2''' sind die älteren Backups vorhanden.
 
 
Wenn einem die letzten 3 Backups nicht ausreichen, läßt sich durch einen Eintrag in der localconfig.php die Anzahl erhöhen, im Beispiel auf 5:
 
<pre>$GLOBALS['BACKUPDB']['AutoBackupCount'] = 5;</pre>
 
 
.
 
 
===Anderen Speicherort für Website-Templates festlegen===
 
Das Website-Template wird normalerweise im Verzeichnis /templates gespeichert, da es auch in diesem Verzeichnis vom Installtool gesucht wird.
 
 
Wenn man, aus welchen Gründen auch immer, ein anderes Verzeichnis verwenden möchte, kann das in der localconfig.php eingestellt werden. Das Verzeichnis sollte aber bereits vorhanden sein.
 
<pre>$GLOBALS['BACKUPDB']['WsTemplatePath'] = 'tl_files/myTemplateBackups';</pre>
 
 
.
 

Aktuelle Version vom 4. August 2012, 19:20 Uhr

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

ich hook' mich gleich in die Abstraktion

Martin Mildner
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge