Probleme mit IPS_ExecuteEx

Hallo,

wie auch einige andere habe auch ich Probleme mit dem o.g. Befehl.

Folgendes Script:

<?

//IPS_ExecuteEx("C:/Sicherung/mysql.bat", "", true,true,0); // die 1 ist für Vista oder Win7 , eine 0 für Win XP

IPS_ExecuteEx("C:/Programme/MySQL/MySQL Server 5.1/bin/mysqldump.exe"," -usicherung -psicherung ips > D:\MYSQL-Sicherungen/test1.sql", true,true,0);


?>

Oben habe ich mich an einer .bat-Datei versucht. Deren Inhalt ist folgender:

c:
cd \Programme\MySQL\MySQL Server 5.1\bin
mysqldump.exe -usicherung -psicherung ips > d:\mysql-sicherungen	est.sql

Nur damit funktioniert die Sicherung. Nun möchte ich jedoch per php Datum und Zeit mit in den Dateinamen stecken. Also dafür die andere Zeilen. Doich wird nur ganz kurz ein DOS-Fenster aufgehen und keine Sicherung erfolgt. Was läuft da falsch? Es sind och die gleichen Befehle, oder?

Solange die einfache Sicherung nicht läuft, brauche ich hier mit date und time gar nicht erst anfangen. Alternativ könnte ich versuchen, in der Batch-Datei dafür zu sorgen, daß da Datum und Zeit dazugeschrieben wird. Aber ich eigentlich alles ím IPS haben.

BS ist egal: Win7 und XP haben da die gleichen Reaktionen - man muß ja nur den letzten Parameter ändern.

Gibt’s da auch was von …

D:\MYSQL-Sicherungen/test1.sql

Sowas gibts normal unter Windows nicht. Die Richtung der Slashes ist nicht egal. Schau mal ob das schon alles ist.

Edit:

Und dann solltest du einfache Anführungszeichen (‚diese‘) verwenden, damit der Interpreter nicht an deinen Strings rumfummelt

Toni

Danke.

Die Slashes waren natürlich Müll. Kleine Bereinigungen - trotzdem kein Erfolg. Ich sehe gerade noch, daß ein DOS-Fenster aufgeht. Was drinsteht - ??? Wie gekommen, so zerronnen… Pfade stimmen auch.

Oben habe ich mich an einer .bat-Datei versucht. […] Nur damit funktioniert die Sicherung.

Dann greif ich mal ganz tief in die Trickkiste und umgehe das Problem - wo immer es auch liegen mag.


@echo off
c:
cd \Programme\MySQL\MySQL Server 5.1\bin
echo dump to %1
mysqldump.exe -usicherung -psicherung ips > d:\mysql-sicherungen\%1
pause

Diese Batch sollte deinen Dateinamen als Parameter akzeptieren.


<?
IPS_ExecuteEx("C:/Sicherung/mysql.bat", "20101216.sql", true,true,0); 
?> 

das „pause“ in der letzten Zeile ist nur zum Testen und sollte für den scharfen Betrieb entfernt werden.

Gruß,

Toni