Umweltschutz

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


Dieses Script eignet sich auch für eine automatisierte Datensicherung in der Nacht, die Sie mit Hilfe eines CronJobs anlegen können. Sollte Ihr Tarif keinen CronJob besitzen, so können Sie diesen in der MembersArea unter ZUSATZPTIONEN dazu bestellen und dann unter CronJobs einrichten. Beachten Sie bitte, dass größere Datenbanken u.U. nichtmehr per Script gesichert werden können, da das Script ggf. an Serverrestriktionen stößt!


Folgende Schritte sind notwendig:

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

2. Geben Sie über Ihr FTP-Programm dem Ordner eine Schreibberechtigung (CHMOD) von 777.

3. Erstellen Sie in dem Ordner eine PHP-Datei (db_backup.phpx) 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' --allow-keywords --add-drop-table --complete-insert --quote-names $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 müssen ersetzt werden durch die korrekten Daten für die Datenbank.

Sollten Sie über einen eigenen Managed Server (kein Shared Server Tarif) verfügen, so nennen Sie die PHP-Datei bitte „db_backup.php“ (ohne das „x“ am Ende). Auf einem ManagedServer ist der exec-Befehl i.d.R. freigeschalten, so dass eine Umschaltung auf PHP-CGI nicht erforderlich ist. Sollte Sie aber trotzdem eine Fehlermeldung erhalten beim testen des Scriptes, so schicken Sie unserem Support eine E-Mail, nennen uns Ihre Kundennummer, die letzten 3 Zeichen vom Passwort der MembersArea und wir schalten den Befehl für Ihren ManagedServer frei.


4. Rufen Sie die Url http://www.ihreDomain.de/backup/db_backup.phpx auf. Das Backupscript wird gestartet, legt eine Datenbanksicherung Ihrer MySQL-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 mySQLAdmin anzeigt.

Suche
in Titel
in Beschreibung