Für Webhosting Linux-Pakete

Um Ihre Webinhalte zu schützen, empfiehlt es sich, regelmäßig Sicherungskopien Ihrer Daten zu erstellen. In diesem Artikel stellen wir Ihnen zwei PHP-Skripte vor, mit denen Sie Ihre Datenbanken sichern und wiederherstellen können.

Achtung

Bei Datenbanken, die größer als 1 Gigabyte sind, muss die Sicherung und Wiederherstellung über den SSH-Zugang erfolgen. Andernfalls schlägt der Prozess fehl, da die Ausführung des Skripts aufgrund einer Zeitüberschreitung abgebrochen wird.

Datenbank sichern

Mit dem nachfolgenden PHP-Skript erstellen Sie einen sogenannten SQL-Dump. Dies ist eine Textdatei, die alle Daten und Anweisungen enthält, die zur Wiederherstellung der Datenbank im SQL-Format benötigt werden.

<?php
//Tragen Sie hier Ihre Datenbankinformationen ein und den Namen der Backup-Datei
$mysqlDatabaseName ='Datenbankname';
$mysqlUserName ='Benutzername';
$mysqlPassword ='Passwort';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlExportPath ='Ihr-gewünschter-Dateiname.sql';

//Bei den folgenden Punkten bitte keine Änderung durchführen
//Export der Datenbank und Ausgabe des Status
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ' .$mysqlExportPath;
exec($command,$output,$worked);
switch($worked){
  case 0:
      echo 'Die Datenbank <b>' .$mysqlDatabaseName .'</b> wurde erfolgreich im folgenden Pfad abgelegt '.getcwd().'/' .$mysqlExportPath .'</b>';
  break;
  case 1:
      echo 'Es ist ein Fehler aufgetreten beim Exportieren von <b>' .$mysqlDatabaseName .'</b> zu '.getcwd().'/' .$mysqlExportPath .'</b>';
  break;
  case 2:
      echo 'Es ist ein Fehler beim Exportieren aufgetreten, bitte prüfen Sie die folgenden Angaben: <br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
  break;
}
?>

So sichern Sie Ihre Datenbank per PHP-Skript:

  • Erstellen Sie auf Ihrem PC mit einem Editor eine neue Textdatei und kopieren Sie den oben angezeigten PHP-Code in diese Datei.

  • Geben Sie im Code die Zugangsdaten zu Ihrer Datenbank an den vorgesehenen Stellen ein und speichern Sie das Skript mit der Dateierweiterung .php.

    Zugangsdaten im IONOS Konto anzeigen

  • Laden Sie die Datei auf Ihren Webspace in das mit Ihrer Domain verbundene Verzeichnis hoch.

  • Führen Sie nun das Skript auf Ihrem Webspace aus.  Rufen Sie dazu Ihre Domain in Ihrem Browser nach folgendem Schema auf: https://domain.tld/skriptname.php.

    Es wird nun eine SQL-Datei im Verzeichnis des Skripts unter dem im Skript angegebenen Namen gespeichert. 

  • Laden Sie die SQL-Datei auf Ihren Computer herunter und bewahren Sie sie sicher auf.

Datenbank wiederherstellen

Das folgende Skript zeigt, wie Sie bestehende Backups (.sql-Dateien) in Ihre Datenbank importieren können.

Um Ihre Datenbank wiederherzustellen, erstellen Sie eine .php-Datei mit dem unten stehenden Code. Tragen Sie die fehlenden Informationen über die SQL-Datei und Ihre Datenbank in den Code ein und laden Sie die Skriptdatei in das Verzeichnis Ihrer Domain hoch. Anschließend können Sie die Wiederherstellung starten, indem Sie das Skript mit Ihrer Domain im Browser aufrufen.

<?php
//Tragen Sie hier Ihre Datenbankinformationen ein und den Namen der Backup-Datei
$mysqlDatabaseName ='Datenbankname';
$mysqlUserName ='Benutzername';
$mysqlPassword ='Passwort';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlImportFilename ='Dateiname-des-Backups.sql';

//Bei den folgenden Punkten bitte keine Änderung durchführen
//Import der Datenbank und Ausgabe des Status
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output,$worked);
switch($worked){
  case 0:
    echo 'Die Daten aus der Datei <b>' .$mysqlImportFilename .'</b> wurden erfolgreich eingespielt in der Datenbank <b>' .$mysqlDatabaseName .'</b>';
  break;
  case 1:
    echo 'Beim Import ist ein Fehler aufgetreten. Bitte prüfen Sie, ob die Datei im gleichen Ordner wie dieses Skript abgelegt ist. Prüfen Sie auch die folgenden Daten noch einmal:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Dateiname:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
  break;
}
?>