commit 836c52e2e7a4a8a3072fe993fb2197c2b7e4afe4 Author: DSB Date: Fri Jun 10 22:58:43 2011 +0000 diff --git a/dump_board.php b/dump_board.php new file mode 100644 index 0000000..ab09cd5 --- /dev/null +++ b/dump_board.php @@ -0,0 +1,219 @@ +$anzahl_zeilen) + { + $zeilen_offset=$zeilen_offset+$anzahl_zeilen; + } + else + { + $table_offset++; + $zeilen_offset=0; + } + for ($x=0;$x<$ergebnisse;$x++) + { + $row=mysql_fetch_row($result); + { + $insert = "INSERT INTO $table VALUES ("; + for($j=0; $j Backupdatei anlegen + $cur_time=date("Y-m-d H:i"); + $newfile.="# Dumpi from ".$cur_time."\r\n"; + $fp = fopen ($path."backup.sql","wb"); + fwrite ($fp,$newfile); + fclose ($fp); +} +if (!empty($_GET['zeilen_offset'])) $zeilen_offset=$_GET['zeilen_offset']; +else $zeilen_offset=0; + +$conn = mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error()); +if (!is_dir($path)) mkdir($path, 0777); +if ($compression==1) $filetype = "sql.gz"; else $filetype = "sql"; + +$tabellen = mysql_list_tables($dbname,$conn); +$tables=ARRAY(); +while ($erg=mysql_fetch_row($tabellen)) { $tables[]=$erg[0]; } +$anz=sizeof($tables); +$tabellen = mysql_list_tables($dbname,$conn); +$num_tables = @mysql_num_rows($tabellen); +$newfile=""; +if ($table_offset < $num_tables) +{ + $table = $tables[$table_offset]; + $newfile .= $nl."# ----------------------------------------------------------".$nl.$nl; + $newfile .= "# structur for table '$table'\n#\n"; + $newfile .= get_def($dbname,$table); + $newfile .= $nl.$nl; + $newfile .= "#\n# data for table '$table'\n#\n"; + $newfile .= get_content($dbname,$table); + $newfile .= $nl; +} +$fp = fopen ($path."backup.sql","ab"); +fwrite ($fp,$newfile); +fclose ($fp); + +$sql="SELECT COUNT(*) AS anzahl FROM ".$tables[$table_offset]; +$res=mysql_query($sql); +echo "

Datenbank-Backup:

"; +if ($res) +{ + $row=mysql_fetch_object($res); + $gesamt=intval($row->anzahl); + if ($gesamt>0) + { + $fortschritt=round(((100*$zeilen_offset)/$gesamt),0); + if ($anzahl_zeilen>=$gesamt) $fortschritt=100; + } + else $fortschritt=100; + echo "Speichere Tabelle ".($table_offset)." von ".sizeof($tables).""; + echo "
Tabelle: $table
"; + + echo "
Fortschritt Tabelle:
"; + echo ""; + echo ""; + echo ""; + echo ""; + if ($anzahl_zeilen>=$gesamt) + { + $eintrag=$zeilen_offset; + $zeilen_gesamt=$gesamt; + if ($zeilen_gesamt==0) $eintrag=0; + } + else + { + $zeilen_gesamt=$zeilen_offset+$anzahl_zeilen; + $eintrag=$zeilen_offset+1; + + } + echo ""; + echo "
  ".($fortschritt)." %Eintrag $eintrag bis ".$zeilen_gesamt." von $gesamt
"; + $tabellen_gesamt=sizeof($tables); + $noch_zu_speichern=$tabellen_gesamt-$table_offset; + $prozent= ($gesamt>0) ? round(((100*$noch_zu_speichern)/$tabellen_gesamt),0) : 100; + echo "
Fortschritt gesamt:
"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
  ".(100-$prozent)." %Tabelle $table_offset von $tabellen_gesamt
"; +} + if ($table_offset<=$tabellen_gesamt) + { + echo ""; + } + else + { + echo "
Alles fertig!"; + echo "
Backupdatei wurde erfolgreich gespeichert."; + if ($compression==1) + { + echo "
Die Datei wird nun komprimiert."; + // liest den Inhalt einer Datei in einen String + $backupdatei=$path."backup.sql"; + $handle = fopen ($backupdatei, "rb"); + $contents = fread ($handle, filesize ($backupdatei)); + fclose ($handle); + + // ungepackte, alte Datei loeschen + if (file_exists($backupdatei)) + { + if (unlink($backupdatei)) + { + echo "
Die alte, ungepackte Datei wurde erfolgreich vom Server gelöscht!
"; + } + } + + $fp = gzopen($backupdatei.".gz","w"); + gzwrite ($fp,$contents); + gzclose ($fp); + echo "
Datei wurde erfolgreich komprimiert."; + echo "

Hier kannst Du die Backupdatei nun herunterladen."; + echo "

Beim nächsten Backup des Webspaces wird das Backup der Datenbank zu diesem "; + echo "Zeitpunkt mit gespeichert."; + } + else + { + echo "

Hier kannst Du die Backupdatei nun herunterladen."; + } + } +?> \ No newline at end of file