DB: automatisches Backup

mafiamix

Mitglied
Hallo,

ist es möglich, mit einem Script ein automatisches Backup zum Beispiel alle 4 Tage an eine angegebene Emailadresse zu schicken?
Die Daten für die Datenbank wär ja kein Problem, aber ich hab keine Ahnung, wie ein Code für sowas ist (kenn mich mit SQL nicht gut aus).

//Edit: Es ist phpmyadmin und leider noch ein Funpic Account.


Lg,

mafiamix
 
Zuletzt bearbeitet:
Wenn du nicht jedesmal selbst die Aktion starten möchtest (das ist mit Benutzerinteraktion gemeint) dann eher nicht. Aber richtiger Webspace kostet mittlerweile auch nicht mehr die Welt.
 
Da könnte ich Dir noch http://www.mysqldumper.de/ empfehlen. Das kann man so einrichten, dass auch automatisch ein Backup per Mail verschickt wird. Würde ich aber nicht bei sehr großen Backups verwenden. Irgendwo ist vermutlich im Server eine Grenze für Anhänge gesetzt.

Allerdings benötigst Du trotzdem noch eine Cronjob-Funktion - aber wie schon erwähnt gibt es da kostenlose Lösungen.

Wenn Du mit PHP programmierst und halbwegs regelmäßige Besucher hast, könntest Du einen Cronjob auch über PHP simulieren. Einfach auf einer Seite abfragen, wann das letzte Backup war (muss natürlich irgendwo gespeichert sein), und wenn die Zeit um ist, ein neues starten.
 
Zuletzt bearbeitet:
Ah, also das wird mir dann doch n bisschen kompliziert.
Hab gedacht, dass sowas mit ner einfachen php Seite gehen würde, aber da einrichten und dort anmelden; ne danke, da mach ichs lieber selbst manuell. ;)

Aber trotzdem danke für eure Antworten!
 
ich verwende folgendes skript:

PHP:
<?php
/* Database */
$db         = 'test';
$dbuser        = 'root';
$dbpw        = '';
$dbhost        = 'localhost';

/* Email*/
$to         = "test@gmx.de";

/* Misc */
$file         = "config/backup_" . $db . ".sql.gz";
$message     = "DB-Backup ".$file." von ".$dbhost." im Anhang.\n\n-- \n" . strip_tags($_SERVER["SERVER_SIGNATURE"]);
$subject    = "DB-Backup ".$file;
$from         = "MySQL-Backup<".$_SERVER["SERVER_ADMIN"].">";

/* Systemcall */
echo dirname(__FILE__)."<br>";
system("/usr/local/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." ".$db." | gzip > ".$file, $fp);
if ($fp==0) echo "Backup erfolgreich!"; else die("Backup konnte nicht erfolgreich erstellt werden!");

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

?>

das funktioniert auch super
nun habe ich auf php.net folgendes gesehen:
http://de.php.net/manual/de/function.system.php#33617

Meine Frage nun. Wo muss ich den Intervall einstellen ich komme mit der Zeitfunktion nicht wirklich zu recht.
Danke schonmal
 
Frage: Ich suche nach einem Script anpassbar wenn möglich welches mir ermöglicht per Hand Backups zu erstellen

Ist es auch möglich das backup dann auch per Mail zu verschicken?

Und es dann in eine Datenbank eintragen zulassen?

Beispiel:

- Backupid
- Backuptime
- Backupmessage

Beispiel2:

- 1 "Backupid"
- 1234567890 "Backuptime"
- Das Backup-Protokol "Backupmessage"

THX
 
Wie macht man das den wenn man Cronjob´s hat ?

Ich habe Confixx mit Cornjob´s ..
Weiß nur nicht wie ich sowas verwirklichen kann.
 
Zurück