Datenbanken automatisch per Mail versenden...

Uwe

B1G-Software-Kunde
#1
Hallo!

Seit meinem letzten Servercrash suche ich händeringend eine Möglichkeit mir meine Datenbanken z.B. 1x pro Woche per Mail zusenden zu lassen...

Über Google habe ich folgendes Script gefunden:

<?php

/* Database */
$db = "database";
$dbuser = "username";
$dbpw = "password";
$dbhost = "localhost";

/* 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);

?>

Es stammt von: http://blog.patrickkempf.de/2007/mysql-datenbank-automatisch-sichern-und-per-email-versenden/

Leider klappt das bei mir nicht... ich habe alle erforderlichen Zugangsdaten richtig eingegeben, aber leider läuft das nicht... kann es am Safemode liegen? Klappt das ganze bei euch?

Über Hilfe wäre ich sehr dankbar, vielleicht kennt jemand auch eine andere Möglichkeit.

Gruß Uwe
 

Uwe

B1G-Software-Kunde
#3
ich rufe die datei einfach im browser auf, er sagt mir halt das ein fehler aufgetreten ist. eben die im skript eingestellte meldung... hats bei dir geklappt?
 

Andreas-Keck

B1G-Software-Kunde
#4
Hallo,

versuchs doch mal mit dem Programm Mysqldumper das Programm kann diese
Sachen bereits, ich benutze das schon seit Jahren und bin sehr damit zufrieden. Zudem ist das ganze noch Freeware. Die Autoren freuen sich über eine Spende ;)

http://www.mysqldumper.de/


Gruß

Andreas
 
Top