PhpMyBackupPro
# PhpMyBackupPro

phpMyBackupPro (abgekürzt pMBP) ist eine freie PHP-Anwendung (Open-Source) zum Erstellen und Verwalten von MySQL-Backups. Die Administration kann mit jedem gängigen Browser der JavaScript unterstützt erfolgen. Dies bedeutet, dass phpMyBackupPro auf einem Webserver über das Internet genutzt werden kann, ohne dass der Anwender Rechte zur Ausführung des MySQL-Kommandozeilen-Clients besitzen muss. Insbesondere bei angemietetem Webhosting, wie es meist von kleineren Unternehmen und Privatpersonen genutzt wird, ist es eher selten der Fall, dass die Kunden direkt den Befehl mysql oder mysqldump ausführen dürfen. Ein typisches Problem bei der Ausführung einer Anwendung auf einem PHP-Server ist auch bei phpMyBackupPro die begrenzte Zeit, die einem PHP-Skript für die Ausführung zur Verfügung steht.

Wie auch phpMyAdmin kann phpMyBackupPro vom Anwender auf Webservern installiert werden, auf denen keine Installation vom jeweiligen Hosting-Providern angeboten wird.

phpMyBackupPro ist unter der GNU General Public License lizenziert und ist in mehreren Sprachen (darunter auch Deutsch) verfügbar. Die Sprachpakete müssen allerdings zusätzlich heruntergeladen werden und ins Installationsverzeichnis kopiert werden. Die Sprache der Standardinstallation ist Englisch.

## Funktionsumfang

Zu den wesentlichen Funktionen von phpMyBackupPro zählen das Erstellen von Backups, das Zurückspielen von existierenden Backups in die Datenbank und das Verwalten der erstellten Backups.

Die Erstellung der Backups kann durch die Einbindung eines kleinen PHP-Skripts in eine vom Anwender erstellte Webseite oder die Verwendung eines Cron-Jobs automatisiert werden. Die MySQL-Backups können entweder als reine Text-Dateien, als Dateien im gzip-Format oder als ZIP-Dateien gespeichert werden. Bei der Erstellung der Backups können diese auf Wunsch auch auf einen FTP-Server übertragen werden oder per E-Mail versandt werden. Zusätzlich zu den MySQL-Datenbanken können auch Verzeichnisse und Dateien auf dem Webserver per FTP auf einen anderen Server gesichert oder per E-Mail versandt werden. Auch diese Backups des Filesystems können automatisiert werden.

Tritt das Problem auf, dass mehr Zeit zum Rückspielen eines Backups benötigt wird als PHP für die Ausführung von phpMyBackupPro gewährt, bricht der Vorgang ab. Um dies zu verhindern steht eine Funktion bereit, über welche sich phpMyBackupPro zyklisch selbst aufruft, so dass auch große bis sehr große Datenbanken wiederhergestellt werden können. Eine äquivalente Funktion für das Sichern von sehr großen Datenbeständen existiert nicht, da mit dieser Methode die große Gefahr eingegangen werden würde, dass die Datenbanken inkonsistent werden. Die Probleme beim Erstellen von Backups großer Datenbanken kann nur durch eine entsprechende Konfiguration der PHP Installation vermieden werden, was auch viele Anbieter von kostenlosem Webspace ihren Anwendern (oft eingeschränkt) ermöglichen.

Die Funktionen von phpMyBackupPro können vielfältig über den Browser konfiguriert werden. Auch kann phpMyBackupPro von Webspace-Providern vorinstalliert werden, so dass über eine einzige Installation jedem Kunden die Verwendung von phpMyBackupPro ermöglicht wird. Zudem ist das Erstellen und Zurückspielen der Backups von mehreren MySQL-Servern oder mehreren Accounts auf demselben MySQL-Server möglich.

## Meilensteine der Entwicklung

* 0.2 (April 2003) – Erstes internes Release
* 0.3 (7. Juni 2004) – Erstes öffentliches Release
* 0.6 (29. Juni 2004) – Erste Version mit eingebauter Anwender-Authentifizierung
* 1.0 (17. Juli 2004) – Große Erweiterung des Funktionsumfang; Ressourcensparender Backup-Vorgang
* 1.2 (29. November 2004) – ZIP-Format für Backups möglich; Auswahl von Skins möglich
* 1.6 (17. Mai 2005) – Erweiterung der Konfigurierbarkeit über System-Variablen
* 1.8 (13. Februar 2006) – Performancesteigerung beim Importieren von Backups
* 2.0 (15. März 2007) – Installation für mehrere Anwender; Unterstützung von großen Datenbanken
* 2.2 (5. Oktober 2011) – Aktualisierung für PHP 5.x; UTF-8 Unterstützung; verbesserte Konfiguration von Cron-Jobs
