Hallo zusammen,
da ich leider im Forum noch keine passende Lösung für mein Problem gefunden habe, möchte ich hierzu gerne ein neues Thema eröffnen.
Mein Ausgangs-System: Windows Server 2016 mit IP-Symcon 6.4
Ich möchte gerne eine Batch-File über IPS_Execute ausführen, welche von meinen MySQL Datenbanken
einen Dump zieht und in der Datensicherung ablegt.
<?
//Parameter - Allgemein
$Laufwerk = GetValueString(25743); //Hier ist der Pfad zur Datensicherung hinterlegt
$OrdnerAktuell = 52622; //Enthält den aktuellen Ordner im Format YYYY_MM_DD
date_default_timezone_set("Europe/Berlin");
$Datum = date("Y_m_d",time());
//Ordner erstellen
$Ordner = date("Y_m_d",time());
if (GetValueString($OrdnerAktuell) == $Ordner):
else:
create_dir($Laufwerk.'\\'.$Ordner);
SetValueString($OrdnerAktuell, $Ordner);
endif;
//Batch-File erstellen
$WikiMySQLDump = 'mysqldump -uUSER -pPASS wikidb > '.$Laufwerk.'/'.$Ordner.'/'.$Datum.'_wikidb.sql';
$StammbaumMySQLDump = 'mysqldump -uUSER -pPASS stammbaum > '.$Laufwerk.'\\'.$Ordner.'\\'.$Datum.'_stammbaum.sql';
$datei = fopen("D:\IP-Symcon\batch\Backup.bat","w");
fwrite($datei, $WikiMySQLDump."\r\n".$StammbaumMySQLDump);
fclose($datei);
//Batch-File ausführen
IPS_Execute('D:\IP-Symcon\batch\Backup.bat', '', false, false);
//Funktion: Ordner erstellen
function create_dir($path,$chmod=0777) {
if(!(is_dir($path) OR is_file($path) OR is_link($path) ))
return mkdir ($path,$chmod);
else
return false;
}
?>
Führe ich das Skript über die Verwaltungskonsole manuell aus, wird die Backup.bat erstellt und läuft offensichtlich auch los. Leider bleiben meine *.sql Dateien leer.
Ändere ich das
IPS_Execute(‚D:\IP-Symcon\batch\Backup.bat‘, ‚‘, false, false);
in
IPS_ExecuteEx(‚D:\IP-Symcon\batch\Backup.bat‘, ‚‘, false, false, -1);
bekomme ich die Fehlermeldung „Warning: Cannot find user session in D:\IP-Symcon\scripts\37096.ips.php on line 34“.
Ich habe schon / statt \ , die cmd.exe mit und ohne zusätzliche Pfadangabe und mysqldump-Befehl direkt als Argument versucht - leider alles ohne Erfolg.
Habt ihr eine Idee? Danke vielmals
Gruß, Sven