FAQ #203001
letzte Änderung: 6.11.2007, 1:00 Uhr
NTBackup unter Win200x - Bandsicherung per Skript
| Die Informationen auf dieser Seite beziehen sich auf: | |||
| NTBackup 2000 | NTBackup 2003 | ||
| Windows 2000 Server | Windows 2003 Server | ||
| Technischer Inhalt: |
In Windows 200x kann NTBackup nicht mehr ganz so einfach per Skript verwendet werden wie bei NT4.0.
Die integrierte Medienverwaltung sorgt dafür, daß bereits verwendete Bänder zunächst in den Pool der freien/ verfügbaren Medien verschoben werden müssen.
Soll täglich ein neues Band eingelegt und unabhängig vom Inhalt überschrieben werden, kann das Skript auf diesem FAQ Artikel eingesetzt werden.
So geht's / Verwendung
Zur Verwendung bitte:
Ein Verzeichnis anlegen, in welchem Skripte etc. gespeichert werden können; ggf. Pfade im Skript anpassen
Beispiel: c:\admin\backupDie benötigten Dateien in dieses Verzeichnis kopieren:
- Backup Skript
- "unixdate"-Befehl (für Datumsstring
- "sleep" Befehl (um n Sekunden zu warten)
Alternativ kann man "sleep.exe" auch im ResourceKit finden und den Datumsstring ohne zusätzliche unixdate.exe erzeugen (siehe unten).Eine .bks Datei "bandsicherung.bks" mit NTBackup erzeugen und im angelegten Verzeichnis speichern
Den Bandlaufwerksnamen/ Gerätenamen ermitteln und im Skript eintragen
Das Skript ausprobieren und als geplanten Task einrichten
Backup Skript
@echo off
@title Datensicherung
@color 1F
rem ##################################################
rem # NTBackup-Sicherung auf Band (v 2005090201) #
rem # www.netzprisma.de #
rem ##################################################
rem Skript, Tools und .bks Dateien in c:\admin\backup
set configdisk=c:
set configdir=%configdisk%\admin\backup
set configbksfile=bandsicherung.bks
rem ######## Sicherung ##########
%configdisk%
cd %configdir%
rem *** Medienverwaltung zurücksetzen ***
rsm.exe refresh /LF"HP C5683A SCSI Sequential Device"
sleep 30
rem Zeitstempel-String erzeugen
for /f "Tokens=1" %%i in ('unixdate +%%Y%%m%%d-%%H%%M') do set dtt=%%i
rem *** Backup starten ***
ntbackup.exe backup "@%configdir%\%configbksfile%" /n "Band %dtt%" /d "Band %dtt%" ^
/v:yes /r:no /rs:no /hc:on /m normal /j "Band %dtt%" /l:f /p "4mm DDS" /UM
rem *** Band auswerfen ***
rsm.exe eject /PF"Band %dtt% - 1" /astart
rem *****************************
rem * Ergänzung für Logrotation *
rem *****************************
rem backup_logrotation.bat
rem ************************************
rem * Ergänzung Email-Benachrichtigung *
rem ************************************
rem (hier einfügen)
Name des Bandlaufwerks
Aus dem Gerätemanager ermitteln oder per Kommandozeile:
rsm view /tlibrary
Beispiel:
C:\>rsm view /tlibrary LIBRARY Offlinemedien TOSHIBA DVD-ROM SD-M1814 HP C1537A SCSI Sequential Device Der Befehl wurde ausgeführt.
Den Namen in der NTBACKUP-Zeile (im obigen Skript "4mm DDS") entnimmt man am einfachsten dem Ntbackup (Registerkarte "Sichern", links unten), z.B. "LTO Ultrium" oder "4mm DDS":

"Bandname" und Datumsstring optimieren
NTBackup als Task
Ideal ist die Einrichtung über einen "geplanten Task".
Dieser sollte als spezieller Backup-Benutzer ausgeführt werden, damit Kennwortänderungen des Administrators den Backup-Job nicht beeinflussen. Der Backup-Benutzer sollte Admin-Berechtigungen haben. Wenn man den Job als nicht-Admin ausführt, sind ggf. noch Rechte zu vergeben.
Im geplanten Task sollte die maximale Laufzeit abweichend vom Standardwert (72 Stunden) so eingetragen werden, daß ein ggf. "aufgehängtes" NTBackup automatisch bereinigt wird.

Falls NTBackup dennoch immer wieder mehrmals gestartet im Taskmanager hängen bleibt, kann man vorsorglich einen "kill" Befehl in das Skript einbauen, z.B. mit "pskill" von www.sysinternals.com.
pskill ntbackup sleep 2 pskill ntbackup sleep 2 rem (dann folgt das Backup-Skript)
Sonstiges rund um NTBackup
NTBackup und der "errorlevel"
In der Regel setzt NTBackup nach erfolgreichem Ausführen den Errorlevel auf "0" und im Fehlerfall auf einen Wert != 0. Allerdings erhält man auch manchmal im Fehlerfall einen scheinbar sauberen Errorlevel zurück - also kein verlässliches Kriterium, um im Skript auf einen erfolgreichen oder fehlerhaften Backup-Job zu schließen. Ggf. hilft ein Tool. das die Eintragung im Eventlog überprüft oder das gezielt nach bestimmten Fehlermeldungen in der Logdatei sucht.
"start /wait" oder "sleep" Befehle?
Im KB (u.a. im Artikel Q267574) wird vor den RSM-Aufruf ein "start /wait eingefügt:start /wait rsm.exe refresh /lf"Bibliotheksname"
Probiert man das auf der Kommandozeile aus, stellt man jedoch fest, daß RSM nicht wie erhofft auf die Beendigung der Bandlaufwerksaktivitäten wartet. Ein "sleep" Befehl ist daher effektiver:
rsm.exe refresh /lf"Bibliotheksname" sleep 30
Sicherung von Daten übers Netzwerk - Systemstatus nur lokal zu sichern
Datei-Daten können bequem übers Netzwerk gesichert werden. Allerdings kann der Systemstatus NUR lokal gesichert werden. Exchange-DBen sollte funktionieren, wenn auf dem Sicherungs-Server der Exchange System Manager installiert ist.
Abhilfe: Sicherung des Systemstatus jeweils lokal auf Festplatte; diese Sicherungsdateien dann zusammen mit der Dateisicherung vom zentralen Sicherungssystem aus mitsichern.
NTBackup meldet Fehler wenn ESM, aber kein Exchange installiert ist
NTBackup und Sicherung des Systemstatus mit Exchange-Datenbanken
Sichert man den Systemstatus und Exchange-Datenbanken in einem Sicherungsjob und befinden sich die Exchange-DBen auf der Systemplatte, schlägt das Backup fehl.
Abhilfe: Exchange-DBen auf andere Platte schieben und/oder separate NTBackup-Jobs formulieren!
Also z.B. Sicherung des Systemstatus auf Platte und anschließend Backup-Job (ohne Systemstatus in der .bks Datei) auf Band. Falls das nicht klappt, ggf. die Exchange-Datenbank auf Platte sichern und dann die Sicherungsdatei aufs band ziehen.
Im NTBackup-Log findet man dann solche Einträge:
Sicherung begonnen am <Datum> um <Uhrzeit>. 'Sicherung wird bereits erstellt.' wurde von 'Microsoft Informationsspeicher' bei einem Aufruf von 'HrESEBackupSetup()' zurückgegeben. Zusätzliche Daten '-' 'Funktionen werden in ungültiger Reihenfolge aufgerufen.' wurde von 'Microsoft Informationsdienst' beim Aufruf von 'HrESEBackupClose()' zurückgegeben. Zusätzliche Daten '-' Der Vorgang wurde beendet. [...] Der Vorgang wurde nicht ordnungsgemäß ausgeführt. [...]
Fehlermeldungen des RSM
Unter Umständen erhält man folgende Fehlermeldung:
PMID-Anzeigename kann nicht in GUID konvertiert werden Unable to convert Pmid Friendly name to GUID
Dies kann sowohl einen falsch geschriebenen Laufwerksgerätenamen als auch ein Problem mit dem Laufwerk bzw. dem Hotfix-Stand des Systems als Ursache haben. Solche Meldungen wurden z.B. beim HP DAT72 Laufwerk gefunden.
Evtl. helfen aktuelle Hotfixes dagegen; man kann auch versuchen statt des Anzeigenamens die GUID des Laufwerks anzugeben.




