PHP-Skript zum Sichern und Wiederherstellen einer Datenbank: Dump erstellen


Beachten Sie bitte, dass größere Datenbanken u.U. nicht mehr per Skript gesichert werden können, da das Skript ggf. an Serverrestriktionen stößt!


Folgende Schritte sind notwendig:

1. Legen Sie im FTP-Hauptverzeichnis Ihrer Domain einen Unterordner "backup" an.

2. Erstellen Sie in dem Ordner eine PHP-Datei (db_backup.php) mit folgendem Inhalt:

<?php

######## einstellungen #############################################

$db_name = "LOGINNAME";
$db_passwd = "PASSWORT";

$sql_file = "dump_" . $db_name . "_" . date('Ymd_Hi') . ".sql";

####################################################################

exec("mysqldump -u $db_name -p'$db_passwd' --single-transaction --allow-keywords --complete-insert --insert-ignore --routines --events --force $db_name > $sql_file");
exec("gzip $sql_file");

$datei = $sql_file . ".gz";
$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$datei,$link);
echo "Downloadlink: <a href='" . $link . "'>" . $datei . "</a>";

?>

LOGINNAME und PASSWORT oben in dem Quellcode ersetzen Sie durch die korrekten Daten für die Datenbank.


Achtung:
Legen Sie bitte im #KAS# für das Backup-Verzeichnis einen Verzeichnisschutz über Tools -> Verzeichnisschutz an! Somit schützen Sie Ihre Datenbanksicherungen vor unberechtigten Zugriffen.


3. Rufen Sie die Url http://www.ihreDomain.de/backup/db_backup.php auf. Das Backupskript wird gestartet, legt eine Datenbanksicherung Ihrer Datenbank an und packt diese als Datei mit dem Namen z.B. dump_DATENBANKNAME_DATUM.sql.gz in den Ordner „backup“. Es ist normal, dass das DB-Backup viel kleiner ist als Ihnen der phpMyAdmin anzeigt.
in Beschreibung
Datenschutzeinstellungen