jhaustein
Goto Top

Problem beim Ausführen einer bat Datei zur Sicherung

Hallo Gemeinschaft,

habe ein Problem mit dem Ausführen einer Bat Datei wenn ich sie manuell ausführe - dann klappt die Sicherung

führe ich sie als aufgabe aus - dann wird die Datei erstellt aber mit Größe 0

@echo off

mysqldump -uadmin -ppass 2023 > "Z:\Sicherung_Datenbank\DS.sql"  

habt ihr ne Idee woran das liegen kann

Content-Key: 23972230125

Url: https://administrator.de/contentid/23972230125

Printed on: June 23, 2024 at 08:06 o'clock

Member: viragomann
viragomann May 23, 2024 at 15:42:02 (UTC)
Goto Top
Hallo,

das heiß jedenfalls, dass der mysqldump Befehl keine Ausgabe produziert.

Versuche es mit der Angabe des vollständigen Pfads.

Das Passort im Batch-File mag mysql auch nicht mehr. Es sollte besser ein Konfig-File verwendet werden.
Aber das sollte im schlimmsten Fall zu einer Warnung führen.

LG
Member: jhaustein
jhaustein May 23, 2024 updated at 15:56:03 (UTC)
Goto Top
was meinst du mit vollständigem Pfad?
wie kann es denn sein, dass wenn ich es manuell ausführe - dann klappt
Member: viragomann
viragomann May 23, 2024 at 16:03:51 (UTC)
Goto Top
C:\...\mysqldump ...

wie kann es denn sein, dass wenn ich es manuell ausführe - dann klappt
Ja, ich glaube, ich kenne das Problem eher von UNIX Systemen, bin mir aber nicht sicher.
Member: Xerebus
Xerebus May 23, 2024 at 16:07:00 (UTC)
Goto Top
Zitat von @jhaustein:

wie kann es denn sein, dass wenn ich es manuell ausführe - dann klappt
Weil du vielleicht da schon im Pfad bist.
Versuchs doch einfach. Hört sich doch gut an die Idee.
Member: vossi31
vossi31 May 23, 2024 updated at 16:28:35 (UTC)
Goto Top
Moin,

der (nicht angemeldete) User, der deine Aufgabe ausführt kennt den Pfad zum mysqldump und/oder Laufwerk Z: nicht.
Ersetze es also durch den kompletten Pfad bzw. UNC-Pfad.

Henning
Member: viragomann
viragomann May 23, 2024 at 16:29:47 (UTC)
Goto Top
Zitat von @vossi31:
der (nicht angemeldete) User, der deine Aufgabe ausführt kennt den Pfad zum mysqldump und/oder Laufwerk Z: nicht.

Dann würde es da auch keine Datei erstellen.
Member: BassFishFox
BassFishFox May 23, 2024 at 20:05:32 (UTC)
Goto Top
Das > erzeugt halt eine Datei.
Schau mal rein was im Fehlerfall drin steht in der erzeugten Datei.
Member: jhaustein
jhaustein May 24, 2024 at 04:11:34 (UTC)
Goto Top
nee - leider ist die Datei leer

habs nun so probiert
kein Erfolg

manuell gehts - als Aufgabe nicht

SETLOCAL

rem ----EINSTELLUNGEN--------------------------------

set "MySQLPath=C:\xampp1\mysql\bin"  
set "BackupPath=Z:\Sicherung_Datenbank"  

set "MySQLDB=2023"  
set "MySQLUser=admin"  
set "MySQLPwd=admin"  
set "MySQLPort=3306"  

rem -------------------------------------------------


set "BackupDate=%date:~-4%%date:~-7,2%%date:~-10,2%"  
set "BackupTime=%time:~-11,2%%time:~-8,2%%time:~-5,2%"  

set "BackupFile=%BackupDate%_%BackupTime%.sql"  

%MySQLPath:~0,2%

cd %MySQLPath%\bin

echo DS Datenbank-Backup wird erstellt... [Datenbank: %MySQLDB%]

mysqldump -u%MySQLUser% -p%MySQLPwd% %MySQLDB% --port=%MySQLPort%> "%BackupPath%\%BackupFile%"  
Member: kpunkt
kpunkt May 24, 2024 at 04:51:51 (UTC)
Goto Top
Sicher, dass der Pfad für mysqldump ein "C:\xampp1\mysql\bin\bin" ist?
Member: jhaustein
jhaustein May 24, 2024 updated at 05:18:27 (UTC)
Goto Top
wie gesagt - es geht ja, wenn man es manuell auslöst

hab mal getestet
@echo off
xcopy "C:\Sicherung" "Z:\Datensicherung" /c /d /i /y  
exit

das geht
Member: hempel
hempel May 24, 2024 updated at 05:21:56 (UTC)
Goto Top
SETLOCAL

rem ----EINSTELLUNGEN--------------------------------

set "MySQLPath=C:\xampp1\mysql\bin"    
set "BackupPath=\\Server\Share\Sicherung_Datenbank"    

set "MySQLDB=2023"    
set "MySQLUser=admin"    
set "MySQLPwd=admin"    
set "MySQLPort=3306"    

rem -------------------------------------------------


set "BackupDate=%date:~-4%%date:~-7,2%%date:~-10,2%"    
set "BackupTime=%time:~-11,2%%time:~-8,2%%time:~-5,2%"    

set "BackupFile=%BackupDate%_%BackupTime%.sql"   

echo DS Datenbank-Backup wird erstellt... [Datenbank: %MySQLDB%]
>"%BackupPath%\%BackupFile%" "%MySQLPath%\mysqldump.exe" -u%MySQLUser% -p%MySQLPwd% %MySQLDB% --port=%MySQLPort%    

Taskeinstellungen ???
Member: elbonai
elbonai May 24, 2024 at 05:19:27 (UTC)
Goto Top
Moin,

ich könnte mir auch vorstellen, das der Benutzer mit dem die Aufgabe ausgeführt wird, keine Berechtigung auf dem Zielpfad hat.

LG
Member: jhaustein
jhaustein May 24, 2024 at 05:22:21 (UTC)
Goto Top
@hempel: set "BackupPath=\\192.168.178.98\Sicherung_Datenbank" - so geht es nicht
@elbonai: dann dürfte es doch manuell nicht funktionieren
Member: hempel
hempel May 24, 2024 updated at 05:27:41 (UTC)
Goto Top
Zitat von @jhaustein:

@hempel: set "BackupPath=\\192.168.178.98\Sicherung_Datenbank" - so geht es nicht
Da fehlt ja auch der Share-Name ...
Und ganz unten der redirect wurde auch geändert, denn wenn beim Redirect Zahlen davor stehen gibt es Probleme das statt Stdout ein anderer Kanal ausgegeben wird .

Die Taskeinstellungen kennt hier auch niemand .... Mal wieder Freitag ­čÉč­čÉč

Lies die Fehlermeldung!! Und lass sie dir aus der Batch im Task in eine Datei ausgeben
Member: em-pie
em-pie May 24, 2024 at 05:25:37 (UTC)
Goto Top
Moin,

wie gesagt - es geht ja, wenn man es manuell auslöst
Dann ermittle die Unterschiede!
  • Sind die user identisch, sprich ist es der gleiche User im geplanten Task, wie der, der das Script manuell ausführt?
  • Haben, bei verschiedenen Usern, beide Zugriff auf den Pfad (was dafür spricht, sonst würde auch die 0Kb-Datei nicht erstellt werden)?
  • dürfen beide User auf C:\xampp1\mysql\bin zugreifen?
Member: elbonai
elbonai May 24, 2024 at 05:26:35 (UTC)
Goto Top
Manuell führst du die Bat durch nen Doppelklick aus?
Wenn ja, dann wird sie mit dem aktuell angemeldeten Benutzer ausgeführt.

Als Aufgabe halt mit dem Benutzer den du in der Aufgabenplanung angegeben hast. Und wenn der ein anderer ohne Schreibrechte ist, dann wird halt nur ne leere Datei erstellt.
Member: jhaustein
jhaustein May 24, 2024 at 05:28:20 (UTC)
Goto Top
nun aber face-smile


\\192.168.178.98\Public

manuell geht es

task nicht - Datei leer
Member: jhaustein
jhaustein May 24, 2024 at 05:29:36 (UTC)
Goto Top
@elbonai - habe es nun so gemacht, dass ich die Task als Admin ausführe - gleich Ergebnis
Member: jhaustein
jhaustein May 24, 2024 at 05:31:35 (UTC)
Goto Top
@em-pie
Sind die user identisch, sprich ist es der gleiche User im geplanten Task, wie der, der das Script manuell ausführt? - ja
Haben, bei verschiedenen Usern, beide Zugriff auf den Pfad (was dafür spricht, sonst würde auch die 0Kb-Datei nicht erstellt werden)? - gleiche user
dürfen beide User auf C:\xampp1\mysql\bin zugreifen? - ist nur ein user
Member: hempel
hempel May 24, 2024 updated at 05:59:35 (UTC)
Goto Top
Wie gesagt Fehler erst mal mit ausgeben lassen und auch erst mal lokal dann siehst du auch was schief läuft, Log-Ordner natürlich vorher anlegen
>"C:\temp\status.log" 2>&1 "%MySQLPath%\mysqldump.exe" -u%MySQLUser% -p%MySQLPwd% %MySQLDB% --port=%MySQLPort%      
Klappt das, dann damit nochmal den orignalen Pfad einsetzen und File begutachten
>"%BackupPath%\%BackupFile%" 2>&1 "%MySQLPath%\mysqldump.exe" -u%MySQLUser% -p%MySQLPwd% %MySQLDB% --port=%MySQLPort%      
Member: jhaustein
jhaustein May 24, 2024 at 06:04:16 (UTC)
Goto Top
beides mal das gleiche - manuell wie auch task

korrekte Ausgabe - lokal geht es
Member: hempel
hempel May 24, 2024 updated at 06:08:06 (UTC)
Goto Top
Zitat von @jhaustein:

beides mal das gleiche - manuell wie auch task

korrekte Ausgabe - lokal geht es

Na also, dann mach den Fred zu wenn es nun geht.
Member: jhaustein
jhaustein May 24, 2024 at 06:09:08 (UTC)
Goto Top
leider nur nicht auf Z
Member: hempel
Solution hempel May 24, 2024 at 06:10:29 (UTC)
Goto Top
Beantworte erst mal alle Fragen von den obigen Posts ...
Member: kpunkt
kpunkt May 24, 2024 at 06:15:11 (UTC)
Goto Top
Zitat von @hempel:

Beantworte erst mal alle Fragen von den obigen Posts ...

Da ist er lernresistent. Fehlermeldungen wirst du so gut wie nie von ihm bekommen. Da kommt immer nur ein "geht nicht".
Member: jhaustein
jhaustein May 24, 2024 at 06:16:40 (UTC)
Goto Top
nein - es wird auch keine log Datei erstellt
Member: jhaustein
jhaustein May 24, 2024 at 06:23:32 (UTC)
Goto Top
nun klappt es - lieben Dank für deine Hilfe
Member: hempel
hempel May 24, 2024 updated at 07:19:57 (UTC)
Goto Top
Zitat von @jhaustein:

nun klappt es
Aha, sehr aufschlussreich. Übernimm dich bitte nicht bei den überrragend vielen Tastenanschlägen.
Member: elbonai
elbonai May 24, 2024 at 08:22:30 (UTC)
Goto Top
Und woran hat et jelegen?
Member: viragomann
viragomann May 24, 2024 at 09:23:44 (UTC)
Goto Top
Zitat von @elbonai:

Und woran hat et jelegen?

Ist Betriebsgeheimnis!
Könnte ja ein Konkurrent Nutzen daraus ziehen.
Member: hempel
hempel May 24, 2024 updated at 12:56:42 (UTC)
Goto Top
Seine Shift-Taste funktioniert nicht .... :-P