Unsere Themen im Blog: Linux

   

PHP-Skript zum Sichern und Wiederherstellen von Dateien

Cliff (Username: cHAp) (Administrator) on 01.05.2018

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.

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 das Sie in den 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) !!!

 


Kurz Profil über Cliff

xProg.de Gründer. Jahrgang 1986. Stolzer Familienvater. Habe Früh mit Computer und Hardware angefangen. Die ersten Self-Made Computer waren nicht die besten, funktionierten aber tadellos. Kenne noch 56k-Modems, und habe mit Windows 3.1 angefangen meine ersten Texte zu schreiben, über Windows 95, bis zu Windows 7 dann aktiv eingestiegen. Auch arbeite ich aktiv mit Linux für Homebase als auch auf der Serverebene. 

Auf die Idee Anleitungen zu schreiben kam ich, als ich zum Thema Debian was gesucht habe. Leider waren viele Anleitungen oder vorschläge veraltet und daher leider nutzlos.

Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren.

Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden.

Webseite: https://www.mailda.de
Facebook: https://www.facebook.com/cain.j.dawson
Twitter: https://twitter.com/CainDawsonDE

Letzte Artikel von Cliff

 

zurück

Hinweis: Darum zeigen wir auf xProg.de Werbung!

Bislang wurde kein Kommentar abgegeben. Seien Sie der erste, der kommentiert. Kommentar abgeben