Easy Joomla Backup - Joomla! Komponente - Logo

Popular in the JED Joomla 3 native

Name: Easy Joomla Backup - Version: 3.2.3 - Typ: Komponente, Systemplugin und CLI Skript - Lizenz: GPLv3
Beschreibung: EJB erstellt schnell und einfach Backups in Joomla!

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

Wenn Sie EJB - Easy Joomla Backup nutzen, dann schreiben Sie bitte ein Review und bewerten Sie die Erweiterung im Joomla! Extensions Directory.

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 'Old School' 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!
  • 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
  • Einfaches Einspielen - Dateien über FTP, Datenbank über Datenbanktool (z.B.: phpMyAdmin)
  • 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.

Wichtig für die Erstellung einer korrekten und vollständigen Datenbankdatei ist der Typ der Datenbankanbindung. Für eine fehlerfreie Erstellung der Dumpdatei ist der Typ Mysqli (beachte das i am Ende) notwendig. Dieser Typ kann in den globalen Einstellungen gesetzt werden und sollte auf allen gängigen Servern zur Verfügung stehen. Zu finden unter: Site - Konfiguration - Server - Datenbank - Typ

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 das sollte man nicht auf der Seite rumklicken oder das Fenster schließen. Nach Beendigung wird man wieder automatisch auf die Übersichtsseite geleitet.

Wie spielt man das Backup wieder zurück?

Es ist sehr einfach, den Status der Website aus dem Backuparchiv wiederherzustellen. Die Dateien werden über FTP auf den Server geladen, der Datenbank Dump kann ü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: Mit dem Skript Kubik-Rubik Unzip Script kann man die ZIP Datei beim Einspielen des Backups in Sekunden auf dem Server entpacken.

Achtung: Wenn man mehr Funktionalitäten benötigt, wie z.B.: einen Installer, dann sollte man sich alternative Backupkomponenten anschauen.

Cronjob - 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!

Tipp: Der Cronjob-Dienstleister Webcron erlaubt eine sehr lange Ausführzeit (Timeoutzeit), um die Backupprozesse erfolgreich auszuführen. Der Dienst ist sehr günstig (für 10 Minuten Cronjobs, die normalerweise für alle Backuptypen ausreichen, je Ausführung nur 0.001 Euro, d.h. 1000 Cronjobs für 1 Euro) und kann mit Paypal bezahlt werden.

Changelog

Öffnen/Schließen - + = Hinzugefügt - ! = Entfernt - ^ = Geändert - # = Gefixt

Joomla! 3.x

Version 3.2.3 - 2016-06-03

  • + Function setExternalAttributesName check - Added check whether required function to set the permission rights on UNIX systems is available - since PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4 - Thanks to Marion M. for reporting this issue!

Version 3.2.2 - 2016-06-03

  • # Permission rights on Unix systems - All file and folder permission rights are set properly on Unix systems - Thanks to Mario I. for reporting this issue and Remi C. for providing a solution for the fix!
  • ^ Code style
  • ^ Updated custom field

Version 3.2.1 - 2015-11-03

  • ^ SQL dump process - Improved the handling of numeric values that do not have the data type integer - Thanks to Marion for reporting this issue!
  • ^ Code style

Version 3.2.0 - 2015-07-31

  • + Donation Code Validation Process - Improved the validation process with a new server (HTTPS request) plus an independent, separated fallback server (HTTP request).
  • https://check.kubik-rubik.de/
    http://check.kubik-rubik.eu/
  • + New Download Server - Download packages are located independently of the project website on a new download server.
  • https://downloads.kubik-rubik.de/

Version 3.1.0 - 2015-05-17

  • + CLI script - After the installation the CLI script is available in the cli folder of the Joomla! instance. Use the script to create backups through your terminal directly on the server. With the help of crontab you can create cron jobs to automate the backup process.
    Usage in the terminal on the sever:
    php path/to/joomla/root/cli/ejb_cli.php x
    Argument x can be: 1 - Full Backup, 2 - Database Backup, 3 - File Backup. Default is 1 if no argument is provided!
    Crontab entry to create full backups daily at midnight (Open with 'crontab -e', do not forget to restart this service after you've saved the file):
    0 0 * * * php path/to/joomla/root/cli/ejb_cli.php 1
  • + Option: Prefix for archive names - With this option the prefix can be set manually to identify the archive files. This is especially useful for the CLI process!
  • ^ Semantic versioning - Switched to semantic versioning, see http://semver.org/ for more details. Please update manually since the core update server functionality will not recognize the new version!

Version 3-5 - 2015-03-23

  • + Status notification for the EJB Cronjob plugin - Notification with link in the footer of the main view
  • + Improved Create view - Uses full width & better positioning of the loading animation
  • + Update Server - Added the Joomla! core functionality for the update checks
  • ^ Updated Donation Code field - Uses the HTTP API for the requests and calls the check script via HTTPS
  • ^ Links in the language files - Updated outdated links to the JED (Joomla! Extensions Directory)
  • ! Removed deprecated "JError" usage - Uses PHP Exceptions instead
  • ! Removed Version Check field
  • # Search button - Cancel - getElementById (change needed in Joomla! 3.4.0 and higher)
  • # Package name creation - Correct package names for websites that use HTTPS

Version 3-4 - 2014-06-27

  • + Joomla! 3.0.x / 3.1.x compatibility - added compatibility for outdated core versions on popular request

Version 3-3 - 2014-05-09

  • + New option: Maximum number of backup files - Outdated files are removed automatically after the backup process was executed

Version 3-2 - 2014-02-08

  • ^ Improved the handling of NULL values
  • ^ Improved the handling of "\0" (ASCII 0 (0x00)), NUL-byte characters
  • ^ Improved output - added icons
  • ^ Updated custom fields

Version 3-1 - 2013-09-10

  • + First release for Joomla! 3 - based on version 2.5-2 with important modifications and optimizations for Joomla! 3.x
  • + This release is tested only with Joomla! 3.1.5 - do not use it in a lower Joomla! version. Do not report any problems with other Joomla! versions. Only the mentioned version is supported officially by EJB!

Joomla! 2.5

Version 2.5-4 - 2014-05-19

  • + New option: Maximum number of backup files - Outdated files are removed automatically after the backup process was executed
  • + Added database type check

Version 2.5-3 - 2014-02-07

  • + Automatic comment from the Cronjob Plugin - if the backup process was executed by the cronjob plugin, then it is specified in the comment field
  • ^ Improved the handling of NULL values
  • ^ Improved the handling of "\0" (ASCII 0 (0x00)), NUL-byte characters
  • ^ Updated custom fields

Version 2.5-2 - 2013-07-03

  • + New Feature: Cronjob - with the new system plugin EJB Cronjob the backup process can be executed directly in the frontend. Use this feature to create recurring cronjob calls. This great feature will save you time and nerves. Configure the cronjob task, lean back and relax, EJB Cronjob will do the job for you! :-)
  • ^ Drop table - added IF EXISTS to the drop table order to avoid errors while importing the sql file in a different database
  • ^ Updated custom fields

Version 2.5-1 - 2013-05-18

First stable release with minor changes to the RC2 version

Version 2.5-1 RC2 - 2013-03-26

+ Feature: Add additional tables - with this feature additional tables which do not have the Joomla! prefix can be added to the database dump
# Wrong status notice after a download

Version 2.5-1 RC - 2013-03-19

+ First public release of the component

Download

Download - verbesserte Entwicklungsversionen exklusiv für Subscriber

-

Download - kostenlose, öffentliche Versionen

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