Easy Joomla Backup - Joomla! Komponente - Logo

JOOMLA 5.x JOOMLA 4.x JOOMLA 3.x FREE PRO POPULAR

Name: Easy Joomla Backup - Version: 3.4.1.0-FREE / 3.6.3.2-PRO / 4.3.1.0-PRO / 5.0.1.0-PRO - Typ: Komponente, Systemplugin und CLI Skript - Lizenz: GPLv3
Beschreibung: EJB erstellt schnell und einfach Backups in Joomla! - Joomla! Extensions Directory

Übersicht über alle Downloads zu dieser Erweiterung: EJB - Easy Joomla Backup Downloads

Backups mit Easy Joomla Backup erstellen - Dateien und Datenbank Dump als ZIP Archiv

Komponente: EJB - Easy Joomla Backup
Funktion: Backups von Joomla! Websites erstellen - Komplett-, Datenbank- und Dateienbackup
Sprachen: Deutsch und Englisch

Easy Joomla Backup erstellt komplette Backups ohne jeglichen Schnickschnack. Alle Dateien und ein kompletter Datenbankdump werden in ein Backup Zip-Archiv gespeichert. Mit diesem Archiv hat man alle wichtigen Daten, mit denen man die Website vollständig rekonstruieren kann, in einem Paket zusammengefasst. Die Backups werden in einen speziellen, von außen nicht aufrufbaren Ordner abgelegt und können komfortabel über die Komponente verwaltet werden.

Die Komponente ist extra schlicht gehalten, um nicht vom Wesentlichen abzulenken: dem Sichern der Joomla! Website! In der Übersicht findet man eine komplette Auflistung aller Backups mit einer Downloadoption des jeweiligen Backups. Es gibt folgende Aktionen: Komplettbackup, Datenbankbackup, Dateibackup, Überprüfen, Löschen und Optionen (siehe Tab Installation für mehr Informationen).

Der Zip Prozess ist schnell und Ressourcen-optimiert. Das Skript versucht alle wichtigen Einstellungen zu erhöhen, um Timeouts auf großen Websites zu verhindern. Wenn der Hoster nicht genügend Ressourcen zur Verfügung stellt oder die Ausführung von langen Prozessen beschränkt, dann wird es wahrscheinlich Probleme beim Erstellen der Backuparchive auf großen Websites geben. In diesem Fall sollten Dateien oder Ordner augeschlossen werden, die man nicht jedes Mal sichern muss (z.B.: images Ordner) oder die Ressourcen mit der Hilfe des Hosters erhöht werden.

Die Komponente basiert auf meinem Kubik-Rubik Joomla! Backup Script, für das es einen guten Artikel mit grundlegenden Tipps gibt: Backups in Joomla! erstellen

Jeder Administrator sollte regelmäßig Backups anlegen, um bei Problemen den funktionierenden Zustand wiederherstellen zu können. Vor jeder großen Änderung (Einspielen von Updates oder neuen Erweiterungen) ist ein Backup der Website Pflicht!

Features

  • Schnelles und einfaches Erstellen von Backups in Joomla!
  • Dynamischer, Ajax-unterstützter Backupprozess
  • Automatische Wiederherstellung - Easy Joomla Backup Pro Restore Skript (PRO)
  • Dropbox Upload - Backuparchive mit einem Klick in Dropbox hochladen (PRO)
  • Erweiterung erstellt Backups aller Dateien und der Datenbank
  • 3 verschiedene Backuptypen: Komplett-, Datenbank- und Dateienbackup
  • Dateien und Datenbank Dump werden in ein ZIP Archiv gepackt
  • Erweiterte ACL Einstellungen: Konfigurieren, Administrationszugriff, Löschen, Download, Komplettbackup, Datenbankbackup, Dateibackup, Überprüfen
  • Manuelle Wiederherstellung - Dateien über FTP, Datenbank über Datenbanktool (z.B.: phpMyAdmin)
  • Anzeige des Sicherungsfortschritts in Prozent im Tab-/Fenstertitel
  • Dateien vom Backuparchiv ausschließen
  • Ordner vom Backuparchiv ausschließen
  • 'DROP TABLE' Befehl zur Dumpdatei hinzufügen
  • Zusätzliche Tabellen aus der Datenbank hinzufügen
  • Systemplugin: EJB Cronjob

Installation

Die Erweiterung übers Backend installieren und unter Komponenten - Easy Joomla Backup aufrufen.

Rechts oben kann man die Komponente über die Buttons steuern. Im Inhaltsbereich sieht man eine Auflistung aller vorhandenen Backups. Die Liste kann man durchsuchen, um gezielt nach Backups zu suchen. In der letzten Spalte kann der Download des jeweiligen Backups gestartet werden. Das Runterladen der Backups kann wahlweise über FTP oder direkt mit einem Klick in der Liste auf den Archivnamen erfolgen. Der Download ist nur bei Benutzerstufen aktiviert, die auch dafür die nötigen Rechte besitzen.

Erläuterung zu den einzelnen Buttons:

  • Komplettbackup - erstellt ein Backup aller Dateien und der Datenbank.
  • Datenbankbackup - erstellt ein Backup der Datenbank.
  • Dateibackup - erstellt ein Backup aller Dateien.
  • Überprüfen - gleicht der Einträge zu den Backupdateien in der Datenbank mit tatsächlich vorhandenen Dateien ab. Sind Dateien nicht vorhanden, werden die Einträge entfernt. Sind Einträge nicht vorhanden, aber existieren Dateien, dann werden neue Einträge erstellt.
  • Löschen - entfernt ausgewählte Einträge und zugehörige Backupdateien.
  • Optionen - ruft Optionen der Komponente auf (siehe unten).

In den Einstellungen lassen sich folgende Optionen setzen:

  • Dateien vom Backuparchiv ausschließen - schließt einzelne Dateien aus dem Backuparchiv aus. Bei der Eingabe muss für die eindeutige Identifizierung der komplette Pfad zu der Datei angegeben werden.
  • Ordner vom Backuparchiv ausschließen - schließt ganze Ordner aus dem Backuparchiv aus. Bei der Eingabe muss für die eindeutige Identifizierung der komplette Pfad zu der Datei angegeben werden.
  • 'DROP TABLE' Befehl zur Dumpdatei hinzufügen - fügt den DROP TABLE Befehl zum Datenbankdump hinzu. Damit kann der Dump direkt wieder importiert werden, ohne vorherigem Löschen der vorhandenen Tabellen.
  • Zusätzliche Tabellen hinzufügen - fügt weitere Tabellen aus der gleichen Datenbank, die nicht den Joomla! Präfix haben, hinzu.

Bei allen Textbereichen in den Einstellungen wird pro Zeile nur ein Eintrag eingegeben!

Jede Aktion kann über die Joomla! interne ACL genau gesteuert werden. Man kann in den Optionen für jede Benutzergruppe festlegen, welche Aufgaben diese durchführen können. Somit kann man zum Beispiel Downloads der Backups nur für Super Administratoren freigeben, das Sichern jedoch auch normalen Administratoren überlassen.

Bei sehr großen Sites kann es vereinzelt zu Problemen aufgrund von Beschränkungen des Servers kommen. In solchen Fällen kann man durch das Ausschließen von Ordnern oder die Erhöhung der Limits durch den Hoster entgegen wirken. In meiner lokalen Testumgebung habe ich eine Testsite mit über 4 GB ohne Fehler sichern können.

Wenn das Archiv direkt auf dem Server über SSH in der Konsole mit unzip entpackt wird, dann sollten die Zugriffsrechte der Dateien und Ordner nach dem Entpackungsprozess überprüft werden. Wenn notwendig, dann sollten diese mit den folgenden Befehlen korrigiert werden:

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Wie erstellt man ein Backup?

Auf der Hauptseite der Komponente wählt man den gewünschten Backuptyp aus und klickt auf den entsprechenden Button. Auf der Folgeseite kann man einen individuellen Kommentar zum Backup eingeben, ein Klick auf Backup erstellen startet den Backupprozess. Je nach Größe der Website kann der Prozess mehrere Minuten in Anspruch nehmen. In dieser Zeit sollte man nicht auf der Seite rumklicken oder das Fenster schließen. Nach Beendigung wird man wieder automatisch auf die Übersichtsseite geleitet.

Wie stellt man das Backup wieder her?

Es ist sehr einfach, den Status der Website aus dem Backuparchiv wiederherzustellen. Man kann die von Easy Joomla Backup Pro erstellten Backuparchive mit einem Klick direkt auf dem Server mit Hilfe des eigenständigen Skripts Easy Joomla Backup Pro Restore wiederherstellen! Das Komplettbackup und das Skript werden auf den Server geladen und das Skript im Browser aufgerufen. Mit einem Klick auf den Action-Button wird alles automatisch wiederhergestellt und konfiguriert!

Easy Joomla Backup - Backup Wiederherstellungsskript

Um das Backup manuell einzuspielen, müssen die entpackten Dateien über FTP auf den Server geladen und der Datenbankdump über ein Datenbankverwaltungstool (z.B.: über phpMyAdmin) in die Datenbank importiert werden. Das ist schon alles!

Wird das Backup in eine andere Serverumgebung eingespielt, müssen natürlich noch die Daten der Datenbankverbindung und die Pfade in der configuration.php angepasst werden. Old School eben, wie bei normalen manuellen Backups auch! :-)

Tipp: Bei Nutzung der kostenlosen Version, kann die Zip Datei beim Einspielen des Backups mit dem Skript Kubik-Rubik Unzip Script in Sekunden auf dem Server entpackt werden. Bei der bezahlpflichtigen Version sollte das Wiederherstellungsskript Easy Joomla Backup Pro Restore verwendet werden!

Cronjob - Automatische Backups mit Hilfe von geplanten Aufgaben

CLI-Skript

Nach der Installation ist das CLI-Skript im Ordner cli der Joomla!-Instanz verfügbar. Mit dem Skript können Backups über die Kommandozeile direkt auf dem Server erstellt werden. Zum Beispiel können mit Hilfe von crontab Cronjobs erstellt werden, um den Backup-Prozess zu automatisieren.

Verwendung im Terminal auf dem Server:

Joomla! 3.x

php pfad/zu/joomla/root/cli/ejbCli.php x [--json]

Argument x kann sein: 1 - Komplettbackup, 2 - Datenbankbackup, 3 - Dateibackup. Standardwert ist 1, wenn kein Argument angegeben wird. Die Option --json hinzufügen, um das Resultat des Backupprozesses im JSON-Format auszugeben.

Joomla! 4.x

php path/to/joomla/root/cli/joomla.php x [--json|--raw]

Argument x kann sein: backup:full - Komplettbackup, backup:database - Datenbankbackup, backup:file - Dateibackup. Standardwert ist backup:full, wenn kein Argument angegeben wird. Die Option --json hinzufügen, um das Resultat des Backupprozesses im JSON-Format auszugeben. Die Option --raw hinzufügen, um das Resultat in vereinfachter Form (0 - Erfolg / 1 - Fehler) auszugeben.

Beispiel für einen Crontab-Eintrag, um täglich um Mitternacht ein Komplettbackup in Joomla! 4 zu erstellen. Das Cron-Dienstprogramm mit crontab -e öffnen und den Code mit korrektem Pfad zur eigenen Joomla! Installation eingeben. Nicht vergessen, den Dienst nach dem Speichern der Datei neu zu starten:

0 0 * * * php pfad/zu/joomla/root/cli/joomla.php backup:full

System Plugin - Easy Joomla Backup Cronjob - EJB Cronjob

EJB Cronjob ist ein Hilfsplugin für die Komponente Easy Joomla Backup. Mit diesem Systemplugin können Backups komplett automatisch über Cronjobs oder einem individuellen Aufruf erstellt werden! Mit dem selbstdefinierten Token kann der Backupprozess direkt im Frontend mit den korrekten Queryparametern ohne vorherigem Login in den Administrationsbereich gestartet werden.

Wie nutzt man die Cronjob Funktionalität?

Es ist wirklich einfach! Die Cronjob Parameter müssen zur URL der Startseite (oder einer beliebigen Seite im Frontend) hinzugefügt werden, um den Backupprozess in Gang zu setzen. Es gibt 2 Parameter, einer davon muss gesetzt werden, der andere ist optional:

ejbtoken - das ist der Token, der in den Einstellungen des Plugins gesetzt werden muss. Nur mit der Eingabe des korrekten Tokens wird das Plugin ausgeführt. Dieser Parameter ist eine Pflichtangabe.

ejbtype - mit diesem Parameter wird der Backuptyp definiert: 1 - Komplettbackup, 2 - Datenbankbackup, 3 - Dateibackup. Wenn dieser Parameter nicht gesetzt wird, dann wird der Typ aus den Einstellungen benutzt.

Beispiel

In den Einstellungen wurde der Token 's3cR3T!T0K3n' gesetzt, dann sieht der korrekt Aufruf mit dem Typ 'Komplettbackup' folgendermaßen aus:

http://www.example.com?ejbtoken=s3cR3T!T0K3n&ejbtype=1

Ohne Typangabe: http://www.example.com?ejbtoken=s3cR3T!T0K3n

Die Beispieldomain wird mit der eigenen Domain ersetzt. Bitte ein sicheres Token nutzen, um unautorisierte Aufrufe zu vermeiden!

Info: Das Plugin erzeugt keine Ausgabe, nachdem es ausgeführt wurde. Das ist nicht notwendig bei einem Cronjobskript. Nach Beendigung wird eine Weiterleitung durchgeführt, um die Queryparameter zu entfernen. Wenn man die Funktionalität des Plugins testen möchte, dann kann man in der Komponente nachschauen, ob die Backupdatei in der Übersicht aufgelistet wird!

Achtung: Der Backupprozess wird unterbrochen, wenn der Cronjob die Seite nicht bis zum Prozessende lädt. Wenn der Cronjob nur so konfiguriert werden kann, dass er die URL einfach aufruft ohne auf einen gültigen HTTP Status-Code zu warten (hier nach erfolgreichem Backup 303 See other aufgrund der Umleitung auf die Startseite), dann kann man die Cronjob-URL als Lesezeichen abspeichern und diese Funktionalität trotzdem verwenden, um Backups manuell aus dem Frontend zu erstellen!

Changelog

+ = Hinzugefügt - ! = Entfernt - ^ = Geändert - # = Gefixt

Letzte Aktualisierung

Version 4.3.1.0-PRO - 2024-01-30

  • Increased technical requirements for Joomla! 4: Increasing Technical Requirements 2024 - Core & PHP for Joomla! 4 Pro Extensions.
  • + Improved Windows Compatibility. Thanks to Giori for reporting the issue!
    • Enhanced the compatibility with Windows environments, particularly with popular development stacks like WampServer and XAMPP.
    • Backup archives are now created more reliably and correctly in Windows environments, ensuring data integrity and seamless backup operations.
    • Users now have the flexibility to specify custom drive paths for storing their backup archives. For example, it's now possible to direct backups to a specific drive (e.g., D:\backups), providing more control over storage management.
  • ^ Code optimisations

Download

Übersicht über alle Downloads zu dieser Erweiterung: EJB - Easy Joomla Backup Downloads