Errorlevel von ntbackup, falls ziel nicht verfügbar
welche errorlevel gibbets von ntbackup?
Hi,
mit der tatkräftigen Hilfe von bastla und und lotpings und anderen (siehe auch Blat - verdecken der Parameter möglich? Zentrale Konfiguration?) habe ich mir ein Script zusammengebastelt, welches den Erfolg von NTbackup per Mail versenden soll.
Das ganze läuft auf nem 2003 Server, Standard, und sieht in etwa so aus:
rem *** prameter für ntbackup
Set "NTPara=backup @C:\sicherung\jobauswahl.bks"
Set "NTPara=%NTPara% /F s:\Sicherung_%Wochentag%"
Set "NTPara=%NTPara% /j "Serversicherung" /V:yes /R:no /L:s /M normal"
ntbackup.exe %NTPara% 24.set error=%errorlevel%
set error=%errorlevel%
IF %error% == 4 call :MailIt "Sicherung fehlerhaft" "Sicherung Server, FEHLERHAFT!"
IF %error% == 3 call :MailIt "Sicherung fehlerhaft (abgebrochen)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 2 call :MailIt "Sicherung fehlerhaft (Dateizugriffskonflikt)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 1 call :MailIt "Sicherung fehlerhaft (keine Dateien zum sichern gefunden)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 0 call :MailIt "Sicherung erfolgreich!" "Sicherung Server, ERFOLGREICH!"
danach Aufruf von Blat mit den entsprechenden Parametern.
Ziel der Sicherung ist eine externe Festplatte mit festem Laufwerksbuchstaben.
Bin damit ein wenig am Spielen und ausprobieren, über nachfolgendes bin ich jedoch gestolpert und komme hier nicht weiter:
- wenn die externe Platte nicht dran hängt, greift keiner der Errorlevels, es wird daher auch keine Mail verschickt, dass eine -fehlerhafte - Sicherung überhaupt stattgefunden hat; und
- Wenn ntbackup nach Aufruf der batch-Datei startet, kommt ja erstmal die automatische Auswahl der Dateien, danach der eigentliche Sicherungsvorgang.
Egal, ob ich bei der Auswahl der Dateien, oder aber beim eigentlichen Sicherungsvorgang, die Sicherung abbreche, ist errorlevel = 0, also sicherung erfolgreich. Dass diese tatsächlich jedoch nicht erfolgreich war, sehe ich dann nur noch im angehängten Log. Es müsste eigentlich error = 3 greifen, oder nicht?
Gibt es hierfür (eine) Lösung(en) ?
Muss jedoch auch dabei schicken, dass ich nicht wirklich fit bin was so batchen anbelangt und so....
Vielen Dank schon mal im vorraus!
Tazze
Hi,
mit der tatkräftigen Hilfe von bastla und und lotpings und anderen (siehe auch Blat - verdecken der Parameter möglich? Zentrale Konfiguration?) habe ich mir ein Script zusammengebastelt, welches den Erfolg von NTbackup per Mail versenden soll.
Das ganze läuft auf nem 2003 Server, Standard, und sieht in etwa so aus:
rem *** prameter für ntbackup
Set "NTPara=backup @C:\sicherung\jobauswahl.bks"
Set "NTPara=%NTPara% /F s:\Sicherung_%Wochentag%"
Set "NTPara=%NTPara% /j "Serversicherung" /V:yes /R:no /L:s /M normal"
ntbackup.exe %NTPara% 24.set error=%errorlevel%
set error=%errorlevel%
IF %error% == 4 call :MailIt "Sicherung fehlerhaft" "Sicherung Server, FEHLERHAFT!"
IF %error% == 3 call :MailIt "Sicherung fehlerhaft (abgebrochen)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 2 call :MailIt "Sicherung fehlerhaft (Dateizugriffskonflikt)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 1 call :MailIt "Sicherung fehlerhaft (keine Dateien zum sichern gefunden)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 0 call :MailIt "Sicherung erfolgreich!" "Sicherung Server, ERFOLGREICH!"
danach Aufruf von Blat mit den entsprechenden Parametern.
Ziel der Sicherung ist eine externe Festplatte mit festem Laufwerksbuchstaben.
Bin damit ein wenig am Spielen und ausprobieren, über nachfolgendes bin ich jedoch gestolpert und komme hier nicht weiter:
- wenn die externe Platte nicht dran hängt, greift keiner der Errorlevels, es wird daher auch keine Mail verschickt, dass eine -fehlerhafte - Sicherung überhaupt stattgefunden hat; und
- Wenn ntbackup nach Aufruf der batch-Datei startet, kommt ja erstmal die automatische Auswahl der Dateien, danach der eigentliche Sicherungsvorgang.
Egal, ob ich bei der Auswahl der Dateien, oder aber beim eigentlichen Sicherungsvorgang, die Sicherung abbreche, ist errorlevel = 0, also sicherung erfolgreich. Dass diese tatsächlich jedoch nicht erfolgreich war, sehe ich dann nur noch im angehängten Log. Es müsste eigentlich error = 3 greifen, oder nicht?
Gibt es hierfür (eine) Lösung(en) ?
Muss jedoch auch dabei schicken, dass ich nicht wirklich fit bin was so batchen anbelangt und so....
Vielen Dank schon mal im vorraus!
Tazze
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145927
Url: https://administrator.de/contentid/145927
Ausgedruckt am: 19.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Moin Tazze,
Zu diesem Thema "es kommen nicht die erwarteten Errorlevel zurück von NTBackup, XCopy, RoboCopy) wenn..."
---> Vergiss den wissenschaftlich-sauberen Analyse-Gedanken.
Lohnt sich nicht und ändert sich von Version zu Version bei den Redmondern.
Mein Tipp: Wenn du nun in der Praxis damit konfrontiert worden bist, dass es diesen nicht abgefangenen Fehlerfall geben kann
(weil externes Laufwerk im Auto statt am Rechner)
--> Prüfe explizit und so billich wie möglich diesen real vorkommenden Fall mit
... oder vergleichbarer Fehlerbehandlung im Batch vor dem eigentlichen NTBackup-Aufruf..
Jeden anderen Workaround hast du u.U. nur bis zum nächsten Servicepack.
Grüße
Biber
Zu diesem Thema "es kommen nicht die erwarteten Errorlevel zurück von NTBackup, XCopy, RoboCopy) wenn..."
- Ziel[Laufwerk] nicht vorhanden ist
- Keine Dateien der Quell-Wildcard entsprechen
- Keine Schreibrechte auf Ziel vorhanden sind
- kein Zugriff auf Quellverzeichnis geben ist
- Quelldatei geöffnet ist
- ....
---> Vergiss den wissenschaftlich-sauberen Analyse-Gedanken.
Lohnt sich nicht und ändert sich von Version zu Version bei den Redmondern.
Mein Tipp: Wenn du nun in der Praxis damit konfrontiert worden bist, dass es diesen nicht abgefangenen Fehlerfall geben kann
(weil externes Laufwerk im Auto statt am Rechner)
--> Prüfe explizit und so billich wie möglich diesen real vorkommenden Fall mit
IF not exist Z: goto :keinLwDaUndWech
... oder vergleichbarer Fehlerbehandlung im Batch vor dem eigentlichen NTBackup-Aufruf..
Jeden anderen Workaround hast du u.U. nur bis zum nächsten Servicepack.
Grüße
Biber
moin,
schau dir das an - stell das logfile auf immer komplett neuschreiben und frage am Ende
Voila.
Gruß
schau dir das an - stell das logfile auf immer komplett neuschreiben und frage am Ende
find /i "error" "logfile" && goto das_backup_iss_schrott
Voila.
Gruß