franc
Goto Top

Batch-Datei wird nicht komplett ausgeführt

Hallo,

ich habe ein Problem mit einer Batchdatei mit Parameter:
Ich sichere (mit snapshot) täglich (mit MS-Task) nacheinander mehrere Partitionen eines Servers, aber nach der ersten erfolgreichen Partitions-Sicherung hört der Batchauftrag einfach auf:

Aufruf der Batchdatei:

sichern.bat Montag

Der Inhalt der Batchdatei:

snapshot C: E:\%1\C-sicherung.sna
snapshot D: E:\%1\D-sicherung.sna

Laufwerk C: wird fehlerfrei gesichert, aber danach hört das Batchfile einfach auf. Die Ausgabe enthält aber auch überhaupt keinen Fehler, als ob es normal wäre, dass die zweite Zeile gar nicht ausgeführt werden müsste.

Wie kann ich nun herausfinden, warum die zweite Zeile nicht ausgeführt wird? Brauche ich vielleicht ein "Call" davor?
Das testen (mit snapshot) ist leider unheimlich langwierig, weil es 3 h dauert, bis eine Partition gesichert ist.

Danke, falls mir jemand hier in der Not hilft.

Gruß, franc

Content-ID: 106913

Url: https://administrator.de/forum/batch-datei-wird-nicht-komplett-ausgefuehrt-106913.html

Ausgedruckt am: 23.12.2024 um 02:12 Uhr

NetWolf
NetWolf 23.01.2009 um 10:17:13 Uhr
Goto Top
Hallo franc,

*Handbookreaderror* face-wink

wie du hier lesen kannst: http://www.drivesnapshot.de/de/commandline.htm

solltest du mal die Option -W probieren

Option -W [Wait]
Wenn Drive Snapshot gestartet wird, und beim Start befindet sich der Cursor ganz oben links, nimmt er an, dass er von einem Batchfile gestartet wurde, und wartet auf den <ANY KEY>, damit Sie das Ergebnis kontrollieren können.
Dieses Warten kann mit -W unterdrückt werden.

BTW könnte der Parameter deiner Batchdatei auch automatisch gesetzt werden (wenn es kein Ordner sein muss):

Erzeugen von Dateinamen mit Datum, Wochentag,...
wenn der gegebene Dateiname spezielle Kennungen enthält, werden ersetzt
$date Datum 6-stellig als JJMMTT
$computername der Computername
$type für differentielle Images --> 'dif'
$disk der Laufwerksbuchstabe (C,D,...)
$weekday Wochentag in 2 Buchstaben
$year 4-stellige Jahreszahl
$month Monat (1..12)
$day Tag (1..31)


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
franc
franc 23.01.2009 um 12:37:59 Uhr
Goto Top
Zitat von @NetWolf:

solltest du mal die Option -W probieren


Leider leider leider hab ich das schon probiert mit dem Schalter -W
Es ändert nichts.
Außerdem würde "er" ja dann warten, auf eine Tastatureingabe, aber das macht er ja auch nicht.
Er hört einfach auf mit dem Batchfile, als ob das der letzte Eintrag gewesen wäre.

Brauch ich ein "call"?
60730
60730 23.01.2009 um 15:13:27 Uhr
Goto Top
Servus,

-t ist nur für den Scheduler notwendig.

Ich vermute den Fehler nicht in der Batch, sondern woanders.

snapshot C: E:\%1\C-sicherung.sna
echo Status: %errorlevel%
pause
snapshot D: E:\%1\D-sicherung.sna

Probiers mal so herum.

Uns als "Beweis" schicke ich auch gleich mal meine Asbachuralte - die 100% läuft (wenn genug Platz usw da ist)
Btw. Welche version setzt du ein?

set %f=\\server\freigabe
@Title Backup von %computername% auf %f%\%computername%
if not exist %F%\%computername%\c_%computername%.hsh goto 1strunc
goto 2ndrunc

:1strunc
if not exist %F%\%computername%\ md %F%\%computername%
cls
snapshot.exe c: %F%\%computername%\$disk-voll.sna -r -t  -l650 -o%F%\%computername%\c_$computername.hsh
:2ndrunc
snapshot.exe c: %F%\%computername%\$disk-$date-$hour.sna -h%F%\%computername%\c_$computername.hsh

if exist d:\>nul md d:\test4write
if not exist d:\test4write\ goto end
rd /q d:\test4write 

if not exist %F%\%computername%\d_%computername%.hsh goto 1strund
goto 2ndrund

:1strund
snapshot.exe d: %F%\%computername%\$disk-voll.sna -r -t  -l650 -o%F%\%computername%\d_$computername.hsh

:2ndrund
c:\script\snapshot.exe d: %F%\%computername%\$disk-$date-$hour.sna -h%F%\%computername%\d_$computername.hsh

:end

Die Batch sollte "selbsterklärend" sein - falls nicht gib Feedback.

Snapshot arbeitet ansich ein Script sauber ab. Wie geschrieben, daran liegt es nicht - sondern woanders.
Aber das kannst nur du rausfinden....

Gruß

edit:

NEIN bloos nicht als 2 Batche!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ursache suchen und beheben - nicht rumdoktern face-wink

/edit
NetWolf
NetWolf 23.01.2009 um 15:15:22 Uhr
Goto Top
ok, dann probiere es einfach mal mit Call aus!
dann aber mit einer zweiten Batch-Datei!

obwohl, dann könntest du die Aufrufe auch gleich als zwei Tasks eingeben face-smile
was u.U. vielleicht sowieso besser wäre?

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
franc
franc 23.01.2009 um 15:31:10 Uhr
Goto Top
Vielen Dank!

Zitat von @60730:
Btw. Welche version setzt du ein?


Die neueste Version 1.39

NEIN bloos nicht als 2
Batche!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ursache suchen und beheben - nicht rumdoktern face-wink


Das ginge auch nicht wirklich. Weil ich ja nicht weiß, wann die erste Sicherung fertig ist.
Und wenn snapshot läuft, während eine andere Sicherung läuft, bricht es mit Fehler ab.
Außerdem muss ich sogar drei Partitionen sichern, der Einfachheit halber hab ich das aber hier reduziert.
60730
60730 23.01.2009 um 16:06:47 Uhr
Goto Top
Servus again,
Das ginge auch nicht wirklich. Weil ich ja nicht weiß, wann die erste Sicherung fertig ist.
jaaaanz jenau face-wink Gefahr erkannt - Gefahr gebannt face-wink

Sag mal...
Sicherst du auf ein USB Drive?
Wenn ja - da liegt der Hund begraben....

Gruß
franc
franc 23.01.2009 um 16:09:09 Uhr
Goto Top
Sicherst du auf ein USB Drive?
Wenn ja - da liegt der Hund begraben....

JAAAAAA! Wo ist der HUND, der tote???
60730
60730 23.01.2009 um 16:12:46 Uhr
Goto Top
Wo ist der HUND, der tote???
am Datenstrom vom Drivesnapshot, der abreisst -wenn die Daten via USB gedrückt werden.

Mies:
Daten -> USBController -> Usbport -> USB2xATAkonverter -> Festplatte
Besser:
Freigabe auf "Server" oder Einbau einer externen Sata Lösung.

Gruß
franc
franc 23.01.2009 um 16:21:24 Uhr
Goto Top
Ach so!
Aber was wäre davon zu halten:

Daten(Part1)->BAK-Part3
BAK-Part3-> USB-Platte

Daten(Part2)->BAK-Part3
BAK auf Part3 -> USB-Platte

Daten(Part3)->BAK-Part2
BAK auf Part2 -> USB-Platte

Also erst auf einer anderen Partition zwischenlagern und dann verschieben auf die USB-Platte.

Außerdem: kann das denn die Ursache dafür sein, dass der Batch-Auftrag nicht weiterläuft?
60730
60730 23.01.2009 um 16:27:17 Uhr
Goto Top
Servus...

genauso mache ich das auch...

1. Sammeln der Daten auf einem Server (siehe obiges Script)
2. verschieben der Daten auf eine Sata Platte, die - wenn Sie voll ist in den Safe kommt via:
robocopy.exe X:\Backup f:\ /mov /e
der Job läuft allerdings auf dem Server, der die externe Platte angeschlossen hat!
Diese Zeile Nicht in die Batch einpflegen!

Also erst auf einer anderen Partition zwischenlagern und dann verschieben auf die USB-Platte.

Yupp - macht das Restore "schneller", denn so kannst du direkt aus Bart restoren, ohne das Netzwerk bemühen zu müssen.
Außerdem: kann das denn die Ursache dafür sein, dass der Batch-Auftrag nicht weiterläuft?
"woher" denkst du weiß ich das und habe dir die Frage gestellt, ob auf USB gesichert wird?
Trial and Error ist mein zweiter Name face-wink

Gruß
franc
franc 23.01.2009 um 16:51:46 Uhr
Goto Top
Zitat von @60730:
"woher" denkst du weiß ich das und habe dir die Frage
gestellt, ob auf USB gesichert wird?

Weiß nicht.

Also erst auf einer anderen Partition zwischenlagern und dann verschieben auf die USB-Platte.

Mist. Ich habe nicht genug Platz auf der dritten Partition (oder sonst einer).
Und es gibt zuverlässig nur diesen Server, der immer läuft im Netz.

Vielleicht mit Tricks, dass die snapshot Teile (z.B. 1,5 GB groß) sofort verschoben werden, geht das?
60730
60730 23.01.2009 um 17:03:57 Uhr
Goto Top
Zitat von @franc:
Weiß nicht.

..dann denk mal drüber nach face-wink

Vielleicht mit Tricks, dass die snapshot Teile (z.B. 1,5 GB
groß) sofort verschoben werden, geht das?

Nein - selbst wenn - beim Backup gebe ich nur gute Tipps, keine fummeleien weiter.

..denn:

Snapshot ist rel. schnell - das moven per robocopy auf USB dauert.
Solange muß das weitere Snappen warten und das geht einfach nicht.

Selbst wenn - der Platz muß für eine Partion reichen - mittendrin verschieben ist wie - sorry -mir fällt grade kein "fieserer" Vergleich als Den Ast auf dem man sitzt absägen - ein.

Ergo - besorg dir eine größere Platte für den Server und fertig ist der Lack.
Und es gibt zuverlässig nur diesen Server, der immer läuft im Netz.

Für den Zweck "passt" sogar ein Billich willich NAS von Lacie und Konsorten"
mach et rischdisch face-wink

"fummeln" macht nur im Kino Spass, nicht beim Backup face-wink

Gruß
franc
franc 23.01.2009 um 17:08:22 Uhr
Goto Top
Zitat von @60730:
..dann denk mal drüber nach face-wink

Das einzige was ich mir erklären kann ist, dass du mal Probleme bei einer Batchsicherung in Verbindung mit externen USB-Platten gehabt hast. Aber das ist keine technische Erklärung, sondern eine Vermutung.

Ergo - besorg dir eine größere Platte für den Server

Mist. Da muss ich dann extra hinfahren (300km einfach).
Keine andere Möglichkeit?
60730
60730 23.01.2009 um 17:12:28 Uhr
Goto Top
Mist. Da muss ich dann extra hinfahren (300km einfach).
Keine andere Möglichkeit?

Doch kauf ein NAS von Lacie oder ein anderes sauberes mit Raid1 - vergib eine feste IP, die 300KM weiter weg frei ist für das Teil und schicke es per Overnight Kuriere (die passen besser auf die Pakete auf, als die gelben Jungs) und bitte jemanden in der Niederlassung das NAS dort anzuschliessen.

Das einzige was ich mir erklären kann ist..

Fast richtig - ich hab den Datenstrom "komplett" gemessen, dann die Kette (s. o.) verkürzt und bin der Ursache so auf den Grund gekommen.

Gruß
franc
franc 23.01.2009 um 17:58:52 Uhr
Goto Top
Kann das sein, dass diese USB-Sicherungsaktionen den Server zum Stillstand bringen?
Das ist nämlich ein viel größeres Problem, der Server bleibt, gerade gerne bei den Sicherungen, stehen. Die Maus läßt sich noch in bißchen bewegen, aber ansonsten reagiert er nicht mehr.
Netzwerkverkehr funktioniert auch noch ein bißchen.
Und er bleibt gerne bei 59% des Images von Platte C stehen (er hat ein Raid1 Verbund).
franc
franc 29.01.2009 um 01:50:45 Uhr
Goto Top
Ich habe das Problem schließlich, mit Hilfe des geduldigen Snapshot-Supports gefunden:

Ich hatte in meinem MS-Task-Auftrag unter:

Eigenschaften / Einstellungen / Task beenden nach: 1h

eingetragen (default: 72h) und das beendet dann die Batch bevor alle Befehle durchlaufen sind.
Weil jeder Test einige Stunden gedauert hatte, wars mir nicht aufgefallen.
Der Support hat mich dann irgendwann draufgebracht face-smile

Mit der externen USB-Platte hatte es dann gottlob doch nichts zu tun gehabt. So kann ich beruhigt und erfolgreich weiter auf diese Weise sichern. Uff.

Gruß, franc