PHP-Skript zum Sichern und Wiederherstellen von Dateien
Ich erkläre euch kurz, wie man ein PHP-Skript zum Sichern und Wiederherstellen einer Datenbank und Files: Dump erstellen - mit E-Mail-Benachrichtigung erstellt.

Ich erkläre euch kurz, wie man ein PHP-Skript zum Sichern und Wiederherstellen einer Datenbank und Files: Dump erstellen - mit E-Mail-Benachrichtigung erstellt.
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:
<? echo "##########<br /><br /><strong>Hinweis:</strong><br /> Dein BackUP sollte in den nächsten Minuten fertig sein, bitte gedulde dich noch etwas.<br /> Dann kannst du das BackUP herunterladen oder lässt es einfach auf deinen Online-Speicher.<br /><br />##########<br /><br />"; ######## Files Einstellungen ############################################# // PHP-Konfiguration optimieren @error_reporting(E_ALL ^ E_WARNING); @ini_set("max_execution_time", 300); @ini_set("memory_limit", "256M"); // Zu sicherndes Unterverzeichnis. Bleibt leer, wenn gesamter Account gesichert werden soll. $verzeichnis = "/"; // Auszuschließende Ressourcen $ignorieren = array("*.sql.gz", "*.tar.gz", "*.tar.bz2"); // PEAR-Klasse einbinden und Archiv erstellen $pfad = preg_replace('/(\/www\/htdocs\/\w+\/).*/', '$1', realpath(__FILE__)); include "Archive/Tar.php"; $archivname = preg_replace('/.+\/(.+)\/$/', '$1', $pfad).date('_Y-m-d_His')."-files.tar.gz"; $archiv = new Archive_Tar($archivname, true); $archiv->setIgnoreList($ignorieren); $archiv->createModify($pfad.$verzeichnis, "", $pfad); $files_file = "$archivname"; $datei = $files_file ; $link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $link = str_replace(basename(__FILE__),$datei,$link); echo "Downloadlink für das BackUP Files: <a href='" . $link . "'>" . $datei . "</a><br /><br />##########<br /><br />"; ######## MySQL Einstellungen ############################################# $db_name = ""; # Datenbankname $db_passwd = ""; # Das Passwort von der Datenbank $sql_file = "dump_" . $db_name . "_" . date('_Y-m-d_His') . "-mysql.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"); $datei1 = $sql_file . ".gz"; $link1 = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $link1 = str_replace(basename(__FILE__),$datei1,$link1); echo "Downloadlink für das BackUP MySQL-Datenbank: <a href='" . $link1 . "'>" . $datei1 . "</a><br /><br />"; ?>
Achtung: Legen Sie für den Ordner "backup" ein Verzeichnisschutz an. Damit Dritte keinen Zugang zu Ihren Datensicherungen hat.
3. Bedenken Sie, dass Sie in dem Script einige Anpassungen wie Zugangsdaten zur Datenbank und Pfade anpassen müssen, damit das Script auch fehlerfrei Funktioniert.
4. Rufen Sie die URL http://www.ihre-adresse-im-netz.de/backup/db_backup.php auf. Das Backupskript wird gestartet, legt eine Datenbanksicherung Ihrer MySQL-Datenbank und eine Datensicherung Ihrer Dateien an und kopiert diese als gepackte Datei in den Ordner „backup“.
Es ist normal, dass das DB-Backup und das Dateien-BackUP kleiner ist als Ihnen die Datenbankgröße im phpMyAdmin bzw. in der Verwaltung angezeigt wird.
Fazit: Kein BackUP - Kein Mitleid! (bei Datenverlust) !!!