Nina: Backup vor Delete

Hi,

habe ein Importscript, das Kategorien und Kontent über eine fremde Schnittstelle einlist und importiert. Eigentlich hat das Script schon einige Mechanismen zur Prüfung, ob die Daten ok waren und die alten in Folge dessen gelöscht werden können. Doch ich befürchte, dass es doch eines Tages mal schief laufen könnte.
Der Cronjob schickt mir am Ende immer eine E-Mail, wenn das Script fertig und fehlerhaft oder fehlerlos durchlaufen ist.
Doch ich hätte gerne, ehe die Mysql-Tabellen Daten vom Vortag gelöscht werden, einen Weg gesucht, womit ich mir z.B. ein "BackUp" der zu löschenden Daten per E-Mail mitschicken lassen kann, welches ich dann im "Notfall" wieder einspielen kann.
Eine Sicherung in einer 2. DB ist nicht erwünscht, da es wirklich Daten sind, die den Umfang einer E-Mail nicht überschreiten.
Gibt es bei Mysql eine für solche Zwecke vorgesehene Funktion?

Danke und gute Nacht.

  1. Hi!

    Eine Sicherung in einer 2. DB ist nicht erwünscht, da es wirklich Daten sind, die den Umfang einer E-Mail nicht überschreiten.

    Was heißt den "Umfang einer E-Mail nicht überschreiten"?
    Je nach Mailprovider ist das eine ganz andere Größe.
    Ich glaube, daß man mit einem normalen, kostenlosen GMX-Account Emails mit einer Größe von 3 MB verschicken kann.
    Und bei den meisten dieser Freemail-Anbieter ist es ähnlich. Die Größe liegt meist so zwischen 2 und 10 MB pro Mail.
    Dabei wäre dann noch zu bedenken, daß binäre Daten konvertiert werden müssen.
    Files, die man an eine Mail hängt, werden dann in etwa um ein Drittel größer (aufgrund der Base64-Codierung).

    Aber zurück zu deiner eigentlich Frage:

    Gibt es bei Mysql eine für solche Zwecke vorgesehene Funktion?

    Ja, gibt es: mysqldump.

    Du kannst mit MySQL einfach einen Dump erstellen. Du erhälst dann eine Textdatei, die du per Email verschicken kannst.
    In dieser Datei stehen dann nicht nur deine Daten drin, sondern auch noch SQL-Befehle, so daß der Krams ganz einfach wieder eingespielt werden kann.
    http://dev.mysql.com/doc/refman/5.1/de/mysqldump.html
    http://www.teialehrbuch.de/Kostenlose-Kurse/Perl-und-CGI/10981-Das-Kommando-mysqldump.html

    Schöner Gruß,
    rob

    1. Ja, gibt es: mysqldump.

      Dachte eigentlich an einen Mysql-Befehl für Queries.
      Also etwas, dass sich fern von der Konsole (auch ohne exec), direkt aus dem php-Script heraus ausführen lässt.