emjott
Goto Top

ntbackup - Fehlercode über Batchabfragen und auswerten

Wie kann ich den von ntbackup gemeldeten Fehler (Medium nicht gefunden, etc.) über eine Batchdatei auslesen?Der Rückgabewert sollte unbedingt mit "if" Auswertbar sein. Es würde mir schon der Wert "0" für kein Fehler und der Wert "1" für Fehler reichen.

"Mühsam ernährt sich da Murmeltier" face-wink Bald habe ich alles zusammen, was ich für meine ntbackup Sicherung brauche face-wink

Content-Key: 42395

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

Ausgedruckt am: 29.03.2024 um 04:03 Uhr

Mitglied: Tundra
Tundra 17.10.2006 um 16:04:26 Uhr
Goto Top
Hi,

lese doch einfach das Log-File mit VBScript aus, so mache ich es auch.
C:\Dokumente und Einstellungen\Account mit dem gesichert wird\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data

Hier steht der Mediumname drin.

Grüße
Guido
Mitglied: Suschi
Suschi 17.10.2006 um 20:45:02 Uhr
Goto Top
Hallo,

wie wärs denn in etwa wie folgend:

@echo on
if not exist C:\Report\Backup md C:\Report\Backup
set LF=C:\Report\Backup\%Date%_%COMPUTERNAME%.log
set LF=%LF: =%
type nul>%LF%
findstr /c:"Medienfehler" Pfad deines Backuplogs >>%LF%

Das dann als Task laufen lassen, nach den Sicherungen.
Somit hast du nur die Fehler des jeweiligen Tages enthalten.

Suschi
Mitglied: emjott
emjott 18.10.2006 um 17:29:41 Uhr
Goto Top
Hi Suschi!

Da sieht schön kompliziert aus...könnte klappen face-wink

EDIT : Meine Sicherung erfolgt so:
schnipp backup.bat
...
C:\WINDOWS\system32\ntbackup.exe backup "@c:\Datensicherung\Auswahl.bks" /n "Sicherung mittwoch " /d "erstellt am 18.10.2006 ab 17:36" /v:yes /r:no /rs:yes /hc:on /m normal /j "Sicherung (mittwoch) vom 18.10.2006 17:36" /l:f /p "4mm DDS" /um
Auch wenn ich diese Ausgabe in eine Datei umleite, schreibt ntbackup dort nichts rein.
Interessant wäre es eventuell, die aktuelle Logfile von NTBckup unter "c:\dok.u.einst\...\data\"
auszulesen und eventuell die Fehler dort auszulesen.

Leider weiß ich nicht, wie ich mir in der Console die zuletzt geänderten Dateien anzeigen lasse. mit "dir /O /D" listet er die Dateien nach dem (Erstell? Geändert?)-Datum auf...Wie bekomme ich da denn jetzt die aktuellste Datei raus per batch?


Vielen Dank!
Mitglied: Suschi
Suschi 18.10.2006 um 19:39:27 Uhr
Goto Top
Hi,

erstmal kurz, ich würde einen Task erstellen, der von einer cmd heraus gestartet wird.
Diese schreibt ein Log - file, für jeden Tag extra.
Aus diesem Log - file ließt du wie ich schon geschrieben habe die Fehler heraus und läßt sie ein ein extra Log - File laufen.
In dieser kannst du dann sehen, wann ein Fehler aufgetreten ist.
Ich stell erst mal ein Backupscript zusammen und poste es dann.

Suschi
Mitglied: Suschi
Suschi 18.10.2006 um 19:39:32 Uhr
Goto Top
Hi,

erstmal kurz, ich würde einen Task erstellen, der von einer cmd heraus gestartet wird.
Diese schreibt ein Log - file, für jeden Tag extra.
Aus diesem Log - file ließt du wie ich schon geschrieben habe die Fehler heraus und läßt sie ein ein extra Log - File laufen.
In dieser kannst du dann sehen, wann ein Fehler aufgetreten ist.
Ich stell erst mal ein Backupscript zusammen und poste es dann.

Suschi
Mitglied: Suschi
Suschi 18.10.2006 um 23:40:17 Uhr
Goto Top
Hi,

hier was einfaches, wenns dir genügt, es klappt. Bei findstr kanns Probleme wegen der Datei- Namen geben, muss ich morgen noch mal sehen.
Musste natürlich noch anpassen.

@echo of
rem Der Pfad ist nur ein Beispiel
if not exist E:\Report\Backup md E:\Report\Backup
rem Setzen der Variable für die Backupdateien
set Backups=E:\Report\Backup
rem Logfile für die Fehler erstellen
set LF=E:\Report\Backup\%Date%_%COMPUTERNAME%.log
set LF=%LF: =%
type nul>%LF%

rem Variable für den Pfad der Backuplogs setzten
set Logs="C:\Dokumente und Einstellungen\DeinProfilname\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data"

del /Q %Logs%\backup*.log

FOR /F %%i in ('date /T') do @set Datum=%%i

ntbackup backup "D:\deineSicherung" /n "Tagessicherung" /d "%Datum%" /v:yes /r:no /rs:no /hc:off /m normal /j "Vollsicherung" /l:f /f "%Backups%\%Datum%_%COMPUTERNAME%.bkf"

c:
cd %Logs%
ren backup*.log %Datum%.log

robocopy %Logs% %Backups% %Datum%.log


rem auslesen des Fehlers "Medienfehler" und schreiben ins Logfile
Mitglied: Suschi
Suschi 19.10.2006 um 19:08:05 Uhr
Goto Top
Hallo,

so hier die letzte Zeile. Mit find klappt es ohne Probleme.
Test es einfach mal.
Viel Spaß

Suschi
Mitglied: Suschi
Suschi 19.10.2006 um 19:09:17 Uhr
Goto Top
Ich sollte sie auch mit angeben.

find "Medienfehler" /I /N %Backups%\%Datum%.log >>%Backups%\%Datum%_%COMPUTERNAME%.log

Suschi
Mitglied: Frank1981
Frank1981 08.12.2006 um 14:23:55 Uhr
Goto Top
Hallo!

Das Script von Suschi ist sehr gut nur leider bin ich nicht so erfahren um es für meine Bedürfnisse anzupassen.

Ich suche fast das gleiche nur das es eben auch die NTBackuplogs eines Win2k3 SBS Servers nach Fehlern ausliesst, jedoch nicht gleich verknüpft mit der eigendlichen Datensicherung sondern extern, praktisch das gleiche also:

Auslesen der erstellen Logs -> auf "Medienfehler" oder ähnliches überprüfen -> das Ergebniss in eine Log schreiben, wie soll mir egal sein, hauptsache ich kann drauf zugreifen.

MfG Frank