Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: chmu-xp

chmu-xp (Level 1) - Jetzt verbinden

25.12.2007, aktualisiert 26.12.2007, 8928 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 ..
Ähnliche Inhalte
Batch & Shell

Win10 ändert den Errorlevel? ( Batch )

gelöst Frage von clragonBatch & Shell12 Kommentare

Hey Leute, Ich habe heute wieder mit Prozessen herumgebastelt, die sich gegenseitig überwachen. Da plötzlich, habe ich einen Fehler. ...

Batch & Shell

Bedeutung von RD Errorlevel 1 und Abweichung von errorlevel Meldungen in Batch und Konsole

Frage von anmelderBatch & Shell11 Kommentare

Ich lösche einen Flashspeicher im Netzwerk mit: Ich habe den Code vor Tagen erfolgreich getestet und er lief mit ...

Datenbanken

Auswertungen Zeitnahme

gelöst Frage von schneerunzelDatenbanken6 Kommentare

Hallo zusammen, für eine Sportveranstaltung habe ich eine Zeitnahmesoftware. Diese Software besteht so und soll auch so bleiben. Ich ...

Netzwerkprotokolle

Ping aus Auswertung

Frage von FreedomGirlNetzwerkprotokolle5 Kommentare

Aufgabe: Schicken Sie Pakete mit unterschiedlicher Länge zu diesem Ziel (10 relativ gleichmäßig verteilte Paketlängen zwischen 32 Byte und ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 5 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Frage von Marcel1989Datenbanken18 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte16 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...