• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mysql backup ohne mysqldump

F

FoXMorayn

Guest
Hallo,

ich suche diese zeile in php/sql formuliert:

Code:
system("/usr/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." --allow-keywords --add-drop-table --complete-insert --quote-names ".$db." | /bin/gzip > ".$file, $fp);

icht jeder hoster erlaubt den zugriff auf mysqldump. mich wundert es sehr, dass ich dazu keine passenden einträge bei google gefunden habe. ich bin mir sicher, dass es sowas schon gibt.

hat jemand den code, oder kennt eine lösung?

gruß,
foxmorayn
 
Das ist doch schon php-Code. Und das aufgerufene Kommando ist scheinbar auch richtig, vorausgesetzt die Variablen sind alle korrekt gesetzt. Verstehe das Problem nicht ganz? Hast Du eine Fehlermeldung erhalten? Wenn ja, welche?
 
dafür muss ich system() bzw exec() nutzen. der befehl darin ist leider kein sql/php. die meisten anbieter sperren diese funktion.
es geht um eine automatische backuplösung, welche auf jedem webspace funktioniert.
die gängiste fehlermeldung wäre
Code:
[B]Warning[/B]:  system() has been disabled for security reasons

EDIT:
mysqldumper.de kann dies, der cron wird aber über ein perl script gelößt.
 
Zuletzt bearbeitet von einem Moderator:
system() und exec() führen ja auch Systemkommandos aus. Somit steht darin natürlich kein php-Code. Aber Du kannst dieses Kommando mit php zusammensetzen so wie Du es oben schon gemacht hast.

Und aus eben diesem Grund sind diese Funktionen bei vielen Webhostern auch gesperrt. Sonst könnte man ja alles mögliche auf den Servern ausführen - ein großes Sicherheitsrisiko.

Aber eine Frage von dir konnte ich bisher noch nicht wirklich entdecken?
 
Nicht als Frage. Nur als Bemerkung habe ich das wahrgenommen, zusammen mit der Analyse von system() und exec().

Wenn es wirklich darum geht: mysqldump ist nur ein Binary des MySQL-Pakets, welches man per SSH ausführen könnte. Wenn man SSH bei seinem Webspace hat. Ansonsten sieht es Mau aus. Würde mich dazu an den Webhoster direkt wenden.
 
kein SSH, keine systemkomandos und kein perl. ich bin auf der suche nach einer reinen php mysql lösung mit standardfunktionen.
es geht um viele kleine "wordpress datenbanken" auf billigen servern mit strengen configurationen und ohne eigenen cronjob.
ich möchte auf den servern jeweils eine datei hinterlegen, die dann zentral angestoßen werden und mir backups per mail schicken.
keine multipart backups, keine überlänge bei der max. execution time.


EDIT: code aus dem myadmin oder dem dumper zu nehmen wär eine möglichkeit, aber doch sehr aufwendig.
 
Zuletzt bearbeitet von einem Moderator:
Nun, ich kenne ja deine Anforderungen nicht.

Normalerweise sichert man NUR Daten (also Informationen). Das Datenbank-Design kann man jder Zeit über die Original-Scripte wieder herstellen.
Bsp.: Wenn ich meine Briefe sichere, sichere ich Word ja auch nicht mit, sondern nur die Dokumente. Word kann man problemlos über die Installations-CD wieder herstellen.

Soll heissen.
Deine Feldinformationen werden bei einer Neuinstallation deines Scripts wieder so hergestellt, wie sie jetzt sind (es sei denn, du hast da selber rumgefummelt).
Bei einem CSV-Import wird dann dein Feld nur mit den Infos befüllt. Exportiert man also einen String, wird man auch einen String importieren, exportiert man einen Mailstring, wird der Mailstring auch wieder importiert.

Du verlierst also nur dann Feldinformationen, wenn du die Scripte zum erstellen der Datenbank nicht mehr hast.
 
Zurück
Oben