Backup von Datenbank

EuroCent

Klappstuhl 2.0
Hallo... wollte mal fragen ob es ein Tutorial oder sowas in der art gibt wie man per Formular ein Backup seiner Datenbank machen kann und diese dann in ein entsprechendes verzeichnis speichert!

Wenn möglich mit einer art Anzeige welche Tabellen man backuppen will!
Also per Select ob man zum beispiel: Tabelle 1 und 10 nur haben möchte oder eben alle!

Und wie kann ich es dann noch realisieren das ich auswählen kann ob gzip bzw. zip oder das er es mir sofort als txt im verzeichnis speichert!

Das wäre das was mich persönlich sehr interessiert
 
Das weiss ich doch auch :D

Mir geht es darum das ich auch von meiner Webseite ein Backup machen kann ohne ins phpMyAdmin gehen zu müssen
 
PHP:
<?php 

/* Database */
$db 		= "";
$dbuser		= "";
$dbpw		= "";
$dbhost		= "";

/* Email*/
$to 		= "Emailadresse";

/* Misc */
$file 		= "_B_A_C_K_U_P_" . $db . ".sql.gz";
$message 	= "Backup ".$file." of ".$dbhost." attached.\n\n-- \n" . strip_tags($_SERVER["SERVER_SIGNATURE"]);
$subject	= "Backup ".$file;
$from 		= "MySQL-Backup<".$_SERVER["SERVER_ADMIN"].">";

/* Systemcall */
system("/usr/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." ".$db." | /bin/gzip > ".$file, $fp);

if ($fp==0) echo "Dump generated"; else die("Ooops. An error occured!");

/* Prepare the email*/
$boundary 	= strtoupper(md5(uniqid(time())));
$mail_header  	= "From:".$from."\n";
$mail_header 	.= "MIME-Version: 1.0";
$mail_header 	.= "\nContent-Type: multipart/mixed; boundary=".$boundary;
$mail_header 	.= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header 	.= "\n--".$boundary;
$mail_header 	.= "\nContent-Type: text/plain";
$mail_header 	.= "\nContent-Transfer-Encoding: 8bit";
$mail_header 	.= "\n\n".$message;
$file_content	 = fread(fopen($file,"r"),filesize($file));
$file_content	 = chunk_split(base64_encode($file_content));
$mail_header 	.= "\n--".$boundary;
$mail_header 	.= "\nContent-Type: application/octetstream; name=\"".$file."\"";
$mail_header 	.= "\nContent-Transfer-Encoding: base64";
$mail_header 	.= "\nContent-Disposition: attachment; filename=\"".$file."\"";
$mail_header 	.= "\n\n".$file_content;
$mail_header 	.= "\n--".$boundary."--";

/* Send the email */
mail($to,$subject,"",$mail_header);

?>

Dieses Script habe ich irgendwo mal gefunden, und es ist irgendwie sehr fein gemacht. Weil es die Datenbank direkt per E-Mail dann an einen schickt.
 
Das ist wunderbar ich danke

Na das extra in ein Verzeichnis schreiben das bekomm ich ja selber noch hin wusste nur nicht wie ich das mit dem Backup der DB machen sollte....

Vielen vielen Dank
 
Zurück