Hallo liebe Gemeinde,
erst mal Hallo und danke an alle die sich an solchen Foren aktiv beteiligen und Neulingen wie mir die Gelegenheit geben ihre Skripte zu verwirklichen.
Folgendes Problem:
Ich habe ein Skript geschrieben das ich mit dem Win Taskmanger starte. Dieses soll dann ein Backup über die CMD Line von einer MySQL DB machen. Das Skript an sich funktioniert wunderbar, nur sobald ich mich von dem Server remote abmelde wird das Skript nicht mehr korrekt ausgeführt. Die Prompt wird geöffnet aber der Send Befehl kann nicht abgesetzt werden, da das Fenster inaktiv ist. Wie gesagt, solange ich angemeldet bin klappts. Habe ein Aufruf von WinActivate drin(davon habe ich mir die Lösung versprochen), das Verhalten ist aber leider unverändert. In der Log Datei ist dann zu sehen, dass $activate=0 ist.
Leider gehen mir die Ideen aus.
Für weitere Ideen und Anregungen wäre ich sehr dankbar.
Anbei der Quellcode:
#include <Date.au3>
Opt("WinTitleMatchMode", 2)
Run("cmd.exe","C:\WINDOWS\system32")
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> DOS Prompt wird geöffnet." & @CRLF)
FileClose($log)
sleep(3000)
$activate=WinActivate("C:\WINDOWS\system32")
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> $Activate="& $activate & @CRLF)
FileClose($log)
;$active=WinWaitActive("C:\WINDOWS\system32\cmd.exe")
if $activate=1 Then
sleep(2000)
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> 2s wurde gewartet." & @CRLF)
FileClose($log)
Send("set path=%path%;C:\Programme\xampp\mysql\bin");Umgebung wird erzeugt
Send("{ENTER}")
Send("mysqldump -u xxxx -xxxxx Copyright data > C:\Backup\mysql\" & @YEAR & @MON & @MDAY & @MIN & @HOUR &".sql")
Send("{ENTER}")
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> Backup wurde gestartet." & @CRLF)
FileClose($log)
sleep(500000);Warten bis mysqldump fertig ist
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> Backup wurde beendet." & @CRLF)
FileClose($log)
if WinClose("C:\WINDOWS\system32\cmd.exe")=1 Then
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> WinClose wurde abgesetzt." & @CRLF)
FileClose($log)
Else
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> WinClose konnte nicht abgesetzt werden." & @CRLF)
FileClose($log)
EndIf
Else
$log=fileopen("C:\Backup\backup.log",1)
FileWrite($log, _NowCalcDate() & "-" & @HOUR & ":" & @MIN & " --> Backup konnte nicht gestartet werden." & @CRLF)
FileClose($log)
EndIf
Alles anzeigen
MFG
Miagi