Hallo Leute,
ich lasse mit PHP über system() einen mysqldump erstellen. Dabei habe ich 20 Tabellen. Eine davon ist mit BLOBS gefüllt, in denen PDFs gespeichert sind. (Wieso ich das nicht anders mache, weiß ich auch nicht wirklich...aber das ist ein anderes Thema)
Frage 1:
Jedenfalls werden die Umlaute in der .sql Datei, wenn ich sie mit TotalCommander per FTP abrufe nicht richtig dargestellt (z.B. für den) wenn auch die BLOB-Tabelle gesichert wird. Sind es nur die 19 anderen klappt alles.
Bei der Bildschirmausgabe nach dem dump (per readfile()) sieht auch alles OK aus.
Nachdem ich überall geschaut habe, dass es die gleiche Zeichenkodierung ist, wusste ich nicht mehr was ich noch machen soll und habe einfach mal den dump ausprobiert. Es klappt. Sowohl die Umlaute als auch die gespeicherten PDFs funktionieren nach dem Restore noch. Auch wenn ich den Dump erst per FTP runterlade und ihn dann wieder hochlade.
Ich denke also das sollte sowei passen, auch wenn es halt am Computer im Editor komisch aussieht. Wie seht ihr das - könnte ich da irgendwo Probleme bekommen, oder passt das?
Frage 2:
Wenn ich mit phpMyAdmin einen Dump mache, (Ich lasse ihn immer im Textfeld anzeigen und kopiere das dann in eine UTF8-Datei) sieht das ganze durch die Zeilenumbrüche sehr aufgeräumt aus und man könnte sich zur Not auch in dem Dump zurechtfinden.
Kann ich das mit mysqldump auch irgendwie hinbekommen?
Frage 3:
Das Ganze soll ein Cronjob werden und muss daher selbstständig funktionieren. Ich möchte daher für jeden Fehler den es geben kann eine entpsrechende Lösung oder Mail-Benachrichtigung einbauen. Deshalb wollte ich über
if (system(mysqldump...))
abfragen, ob der dump geklappt hat. Leider kommt aber anscheinend immer FALSE heraus, obwohl die DB soweit ich erkennen konnte vollständig gesichert wurde.
Ich könnte im Anschluss testen, ob die Datei vorhanden ist - aber das Problem ist auch, dass ja bei einem Fehlerhaften Dump auch die Datei angelegt wird und eine Nachricht bzw. gar nichts drinnen steht.
Wie kann ich hier eine sinnvolle Prüfung machen?
Vielen Dank schon mal!
Gruß
Alex