Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Probleme bei Auswertung des Errorlevel von NTBackup in Batch

Frage Entwicklung Batch & Shell

Mitglied: chmu-xp

chmu-xp (Level 1) - Jetzt verbinden

25.12.2007, aktualisiert 26.12.2007, 8843 Aufrufe, 4 Kommentare

Hallo,

nachdem ich bereits alle meine bescheidenen Batch-Kenntnisse aus diesem genialen Forum gezogen habe habe ich noch ein für mich unlösbares Problem:

Ich sichere meinen Fileserver mit NTBackup über ein Script. Beim Start des automatischen Backups (über Taskplaner) als auch am Ende erhalte ich eine eMail (letztere mit Log als Anhang). In meiner Batch soll eigentlich der Errorlevel von NTBackup ausgewertet werden - allerdings erhalte ich immer das Ergebnis "Sicherung erfolgreich" - und ich habe keine Ahnung was hier schief läuft.

Hier meine Batch:
01.
Blat -install SERVER. server@xyz.de 
02.
Blat -body "Sicherung Server gestartet" -to info@xyz.de -server smtp.strato.de -u server@xyz.de -pw XXXXX -debug -timestamp -log blatSMTPlog.txt -subject "Sicherung Server gestartet" 
03.
 
04.
 
05.
echo off 
06.
  for /f "Tokens=1-4 Delims=/ " %%i in ('date /t') do set dt=%%i-%%j-%%k-%%l 
07.
  for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i 
08.
  set tm=%tm::=-% 
09.
  set dtt=%dt%%tm% 
10.
  C:\WINDOWS\system32\ntbackup.exe backup "@C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\Backup Daily REV.bks" /n "%computername%-%dtt%" /d "daily %dtt%" /v:yes /r:no /rs:no /hc:off /m copy /j "daily %dtt%" /l:s /f "E:\Backup Daily.bkf" /UM 
11.
 
12.
IF ErrorLevel 4 goto err_lvl4 
13.
IF ErrorLevel 3 goto err_lvl3 
14.
IF ErrorLevel 2 goto err_lvl2 
15.
IF ErrorLevel 1 goto err_lvl1 
16.
IF ErrorLevel 0 goto success_lvl 
17.
 
18.
:err_lvl4 
19.
set "Pfad=C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
20.
for /f %%i in ('dir /b /od "%Pfad%\*.log"') do set "Letzte=%%i" 
21.
Blat -install SERVER. server@xyz.de 
22.
Blat -body "Sicherung Server fehlerhaft" -attach "%Pfad%\%Letzte%" -to info@xyz.de -server smtp.strato.de -u server@xyz.de -pw XXXXX -debug -timestamp -log blatSMTPlog.txt -subject "Sicherung Server fehlerhaft" 
23.
goto :eof 
24.
 
25.
:err_lvl3 
26.
set "Pfad=C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
27.
for /f %%i in ('dir /b /od "%Pfad%\*.log"') do set "Letzte=%%i" 
28.
Blat -install SERVER. server@xyz.de 
29.
Blat -body "Sicherung Server fehlerhaft (abgebrochen)" -attach "%Pfad%\%Letzte%" -to info@xyz.de -server smtp.strato.de -u server@xyz.de -pw XXXXX -debug -timestamp -log blatSMTPlog.txt -subject "Sicherung Server fehlerhaft (abgebrochen)" 
30.
goto :eof 
31.
 
32.
:err_lvl2 
33.
set "Pfad=C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
34.
for /f %%i in ('dir /b /od "%Pfad%\*.log"') do set "Letzte=%%i" 
35.
Blat -install SERVER. server@xyz.de 
36.
Blat -body "Sicherung Server fehlerhaft (Zugriffs - oder Dateikonflikt)" -attach "%Pfad%\%Letzte%" -to info@xyz.de -server smtp.strato.de -u server@xyz.de -pw XXXXX -debug -timestamp -log blatSMTPlog.txt -subject "Sicherung Server fehlerhaft (Zugriffs - oder Dateikonflikt)" 
37.
goto :eof 
38.
 
39.
:err_lvl1 
40.
set "Pfad=C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
41.
for /f %%i in ('dir /b /od "%Pfad%\*.log"') do set "Letzte=%%i" 
42.
Blat -install SERVER. server@xyz.de 
43.
Blat -body "Sicherung Server fehlerhaft (keine Daten zum sichern)" -attach "%Pfad%\%Letzte%" -to info@xyz.de -server smtp.strato.de -u server@xyz.de -pw XXXXX -debug -timestamp -log blatSMTPlog.txt -subject "Sicherung Server fehlerhaft (keine Daten zum sichern)" 
44.
goto :eof 
45.
 
46.
:success_lvl 
47.
set "Pfad=C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" 
48.
for /f %%i in ('dir /b /od "%Pfad%\*.log"') do set "Letzte=%%i" 
49.
Blat -install SERVER. server@xyz.de 
50.
Blat -body "Sicherung Server erfolgreich" -attach "%Pfad%\%Letzte%" -to info@xyz.de -server smtp.strato.de -u server@xyz.de -pw XXXXX -debug -timestamp -log blatSMTPlog.txt -subject "Sicherung Server erfolgreich" 
51.
goto :eof
Hat jemand eine Idee wo mein Fehler liegt?


Danke,

Christian
Mitglied: filippg
25.12.2007 um 20:10 Uhr
Hallo,

ich würde mal etwas wie

if %errorlevel% eq 1 goto ...

probieren. So wie du das hast wird der Wert von Errorlevel nicht aufgelöst, und es findet auch kein Vergleich statt. Das einzige was mich wundert ist, warum bei dir success_lvl ausgeführt wird, eigentlich müsste er in :err_lvl4 reinlaufen und von dort zu :eof.

Ansonsten: du machst doch bei allen Erroleveln das gleiche, bis auf den Betreff. Dann lege doch eine Variable an, in der du den Betreff hinterlegst (so wie bisher, als mit if und Sprungmarken) und verwende dann für alle die gleichen Blat-Aufrufe (lediglich mit der Variablen für den Betreff). Das ist deutlich sauberer programmiert.
Schön ist es auch immer die Fälle abzudecken, in denen Errolevel nicht zwischen 0 und 4 liegt (auch wenn das angeblich nicht möglich sein kann).

Filipp
Bitte warten ..
Mitglied: chmu-xp
25.12.2007 um 22:14 Uhr
Hallo,

vielen Dank für die Antwort.

Du hast recht - das Ganze läßt sich bestimmt sauberer und kürzer mit Variablen gestalten. Da dieses meine erste Batch ist mit ich allerdings mit den Variablen noch nicht ganz fit - aber ich arbeite daran

Muss ich den Errorlevel also mit %errorlevel% abfragen? Und muss dieser unbedingt "verglichen" werden?


Danke für die Hilfe

Christian
Bitte warten ..
Mitglied: Biber
25.12.2007 um 22:23 Uhr
Moin chmu-xp,

vom Gedankengang her ist Dein Sicherungsbatch schon sauber angelegt (vom möglichen Straffen wie von filippg beschrieben mal abgesehen).

Das Problem dürfte eher sein, dass sich NTBackup einfach nicht daran hält, Errorlevel ungleich 0 bei Misserfolg zurückzugeben.
Siehe bei M$KB 260327 Sicherung gibt Grütze zurück.

Weil mir M$-Zitate immer runtergehen wie Öl, hier eines original aus dem Artikel:
Auch wenn ein Problem ist, kann einen Exit (0) Nullcode das Sicherungstool derzeit zurückgeben.
Wenn es nur einen schwerwiegenden Fehler wie einem Ausgang des Speicherfehlers ermittelt,
wird das Sicherungstool einen Fehlercode ungleich Null zurückgeben.
Ein fehlendes Gerät, fehlendes Medium oder auch ein Sicherungsfehler werden weiterhin einen Exit (0) Nullcode zurückgeben.
...das könnte nicht mal ich toppen.

Abhilfe:
ABSOLUT darauf verzichten, den Errorlevel des NTBackup-Tools auszuwerten.
Werte das Logfile aus (neudeutsch: PTFL=parse the logfile).
Suche mit find/findstr nach "error", "invalid", "cancelled", "aborted" und gehe entsprechend der Fund/Nixfund-Situation zu Deinen Sprungmarken.

Liebe Grüße
ein weihnachtlich vollgefressener
Biber
Bitte warten ..
Mitglied: chmu-xp
26.12.2007 um 19:54 Uhr
Hallo Biber,

vielen Dank für Deine Antwort.

Dein org. MS-Zitat macht in der Tat die Auswertung des Errorlevel etwas "unnötig" (wobei das noch nett ausgedrückt ist

Da mich der Ehrgeiz gepackt hat werde ich mich mal bez. dem Auswerten der Log hier im Forum schlau lesen...ist wie gesagt mein erster Versuch mit Batches rumzubasteln (allerdings extrem faszinierend / durch MS bin ich ein bisschen zum Konsumenten geworden und suche nur nach fertigen Lösungen in Form von Software / Shareware / Freeware - dabei ist es absolut effizient, sich realisierbare Lösungen selber zu basteln...wie früher zu C64-Zeiten .


Noch einen schönen Restweihnachtstag,

Christian
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Winrar entpacken - Probleme bei Pfad (7)

Frage von Concurve zum Thema Batch & Shell ...

Batch & Shell
gelöst Probleme bei der Funktionsweise einer im Hintergrund laufenden Batch (5)

Frage von duderu zum Thema Batch & Shell ...

Batch & Shell
Batch-Probleme bei Verschlüsselung

Frage von Jonas1806 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Xcopy Probleme (3)

Frage von GtaGamer zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...