kostenloser Webspace werbefrei: lima-city


Online Datenbank Backup erstellen (ohne PhpMyAdmin)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lordok

    Kostenloser Webspace von lordok, auf Homepage erstellen warten

    lordok hat kostenlosen Webspace.

    Um den Inhalt meiner Hompage bei Bedarf leicht wieder herstellen zu können, möchte ich eine Funktion implementieren, die es möglich macht, ein Backup einer Datenbank zu erstellen. Es Geht hierbei nicht ums speichern eines Backups, sondern um das Erzeugen des Texte. Gibt es eine einfache Funktion für MySQL um einen Text zu erhalten: wie zum Beispiel den, welchen man erhält, wenn man bei PhpMyAdmin auf 'Exportieren' klickt?

    Ich hoffe ihr könnt mir helfen!


    mfg Olaf
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. b****y

    Ich habe mal eine PHP-Datei erstellt, die das PHPMyAdmin_Backup nachahmt. Du brauchst du nur das Script auszuführen. Es wird dann eine .sql-Backup-Datei erstellt. Hier mal der Code:

    <?php
    
    $count_tables = 0;
    $count_data = 0;
    
    $fp = @fopen("db_backup.sql","w");
    @rewind($fp);
    
    // Verbindung herstellen und Datenbank auswaehlen
    $src = @mysql_connect($db_server, $db_nutzer, $db_passwort) or die ($die);
    $select = @mysql_select_db($db, $src);
    
    $info .= "--\n--\n-- Datenbank-Backup\n--\n--\n";
    $info .= "-- Erstellungsdatum: " . date("d.m.Y - H:i");
    $info .= "\n--\n-- Datenbank: $db \n--\n\n";
    @fputs($fp,$info);
    
    $res = mysql_query("show table status");
    while($table=mysql_fetch_array($res))
    {
      $res1 = mysql_query("SHOW CREATE TABLE `".$table['Name']."`");
      $tmp = mysql_fetch_array($res1);
      $s = "";
      $s .= "--\n";
      $s .= "-- Tabellenstruktur fuer Tabelle ".$table['Name']."\n";
      $s .= "--\n\n";
      $s .= $tmp["Create Table"] . " ;\n\n";
      @fputs($fp,$s);
    
      $out = "";
      $res2 = mysql_query("select * from `".$table['Name']."`");
      for ($j=0;$j<$nr=mysql_num_rows($res2);$j++)
      {
        $count_data++;
        $out .= "(";
        $row2 = mysql_fetch_row($res2);
        for ($k=0;$k<$nf=mysql_num_fields($res2);$k++)
        {
          if (is_null($row2[$k])) $out .="null"; else $out .="'".mysql_escape_string($row2[$k])."'";
          if ($k<($nf-1)) $out .=", ";
        }
        if ($j<($nr-1))
        {
          $out .="),\n";
        }
        else
        {
          $out .=");\n";
        }
      }
      $i = "";
      $i .= "--\n";
      $i .= "-- Daten fuer Tabelle ".$table['Name']."\n";
      $i .= "--\n\n";
      if (mysql_num_rows($res2) != 0)
      {
        $i .= "insert into `".$table['Name']."` values\n";
      }
      $i .= $out;
      $i .= "\n-- ---------------------------------------------------------------------------------\n\n";
      $i = str_replace("\'", "&quot", $i);
      @fputs($fp,$i);
      $count_tables++;
    }
    
    mysql_close();
    
    @fclose($fp);
    
    ?>


    Das Script ist schon ein wenig &#228;lter, sollte aber funktionieren. Bei Problemen einfach mich anschreiben.

    MfG, Bohrty.
  4. Ich hab dein SCript nun zwar nicht getestet bohrty, aber gibt es nicht auch eine M&#246;glichkeit das phpmyadmin-backup-tool per Cronjob ausf&#252;hren zu lassen ? :D
  5. Autor dieses Themas

    lordok

    Kostenloser Webspace von lordok, auf Homepage erstellen warten

    lordok hat kostenlosen Webspace.

    hey wow...toll...

    DANKE!...mfg Olaf
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!