PHP-Code:
// Datenbank Sicherung
function &dbbackup($addr) {
$dbname = DBNAME;
$pagename = PAGENAME;
$giveback = "";
$tresult = mysql_list_tables($dbname);
for($ti = 0; $ti < intval(mysql_num_rows($tresult)); $ti++) {
$akt_tabelle = mysql_tablename($tresult, $ti);
$result = mysql_query("SHOW CREATE TABLE ".$akt_tabelle);
if(mysql_num_rows($result)) {
$sql_tbl = mysql_fetch_array($result);
$giveback .= "\n#\n";
$giveback .= "DROP TABLE IF EXISTS ".$akt_tabelle.";\n";
$giveback .= $sql_tbl[1].";";
}
mysql_free_result($result);
$result = mysql_query("SELECT * FROM ".$akt_tabelle);
$num_rows = mysql_num_rows($result);
$num_fields = mysql_num_fields($result);
if($num_rows) {
for($i = 0; $i < intval($num_rows); $i++) {
$sql_tbl = mysql_fetch_array($result);
$tmp_sql = "";
for($n = 0; $n < $num_fields; $n++) {
$tmp_sql .= "'".addslashes($sql_tbl[$n])."'";
if(($n+1) < $num_fields) {
$tmp_sql .= ", ";
}
}
$akt_sql = "INSERT INTO ".$akt_tabelle." VALUES (".$tmp_sql.");";
if(strlen($giveback)>0) {
$giveback .= "\n#\n";
}
$giveback .= $akt_sql;
}
}
}
$filename = "dbbackup-".date("Y")."-".date("m")."-".date("d").".sql";
$header = "FROM: ".$pagename."-Support".chr(13).chr(10)."Content-Type: application/octet-stream; name=\"".$filename."\"".chr(13).chr(10)."Content-Transfer-Encoding: Base64".chr(13).chr(10)."Content-Disposition: attachment; filename=\"".$filename."\"".chr(13).chr(10);
@mail(trim($addr), "DB_Backup", $giveback, $header);
}
backup wird per mail verschickt als attachment
vvlt. hilfts weiter