WBadmin

Da Microsoft aktuell leider entschieden hat, RDX-Laufwerke nicht als gültige Medien für die grafische Benutzereingabe (GUI)sowohl des SBS-Backups als auch des Windows Server Backups zu deklarieren, muss man den Umweg über eine Batch-Datei für einen geplanten Task gehen.

Hier der eigentliche Befehl:

type C:\Backup\promptc.txt | WBADMIN START BACKUP -backuptarget:F: -include:C:,D: -allcritical -systemState –quiet

Hierbei ist zu beachten, dass der Umweg über den Befehl “type C:\Backup\promptc.txt” deswegen gegangen werden muss, da auch wenn der eigentliche Befehl “wbadmin” mit dem Schalter “-quiet” ausgeführt wird, die Eingabe für das Label des wiederbeschreibbaren Wechselmediums auf eine Bestätigung (s.u.) wartet:

C:\>WBADMIN START BACKUP -backuptarget:F: -include:C:,D: -allcritical -systemState –quiet
wbadmin 1.0 - Sicherungs-Befehlszeilentool
(C) Copyright 2004 Microsoft Corp.

Volumeinformationen werden abgerufen...
Hierdurch wird das Volume "<Volume ohne Bezeichnung> (100.00 MB)(\\?\Volume{5aab8cf8-bce4-57e0-a69d-906c7f6e6963}\),
Lokaler Datenträger(C:),Lokaler Datenträger(D:)" in "F:" gesichert.
Der Sicherungsvorgang in "F:" wird gestartet.
Eine Schattenkopie der für die Sicherung angegebenen Volumes wird erstellt...
Eine Schattenkopie der für die Sicherung angegebenen Volumes wird erstellt...
Eine Schattenkopie der für die Sicherung angegebenen Volumes wird erstellt...
Eine Schattenkopie der für die Sicherung angegebenen Volumes wird erstellt...
Beschriften Sie das neue Medium mit "SBS 2011_08_20 23:00 DVD_01". Anhand dieser Informationen
wird dieses Sicherungsmedium bei der Wiederherstellung identifiziert.
Legen Sie das neue Medium in Laufwerk "F:" ein. Drücken Sie anschließend [W],
um den Vorgang fortzusetzen. Drücken Sie [B], um den Vorgang abzubrechen.
[W] Weiter [B] Beenden

Dies kann man jedoch umgehen, in dem die zu erwartende Eingabe (hier für die deutsche Version “W” - für eine englische Version “C”) durch die PIPE-Funktion (“|”) dem eigentlichen Befehl zugeführt wird:

type C:\Backup\promptc.txt | WBADMIN START BACKUP -backuptarget:F: -include:C:,D: -allcritical -systemState –quiet

In der TXT-Datei “promptc.txt” befindet sich lediglich der notwendige Buchstabe (für die deutsche Version von wbadmin “W” - für eine englische Version von wbadmin “C”) gefolgt von einem “Carriage Return\Linefeed”, also einem simplen <Enter>.

Die TXT-Datei “promptc.txt” sieht also so aus:

W

Würde man dieses nicht tun, würde der geplante Task dann wie folgt beendet:

C:\>WBADMIN START BACKUP -backuptarget:F: -include:C:,D: -allcritical -systemState –quiet
wbadmin 1.0 - Sicherungs-Befehlszeilentool
(C) Copyright 2004 Microsoft Corp.
Volumeinformationen werden abgerufen...
Hierdurch wird das Volume "<Volume ohne Bezeichnung> (100.00 MB)(\\?\Volume{5ccb8cf8-bce4-11e0-a69d-806e6f6e6963}\),
Lokaler Datentr„ger(C:),Lokaler Datentr„ger(D:)" in "F:" gesichert.
Der Sicherungsvorgang in "F:" wird gestartet.
Eine Schattenkopie der fr die Sicherung angegebenen Volumes wird erstellt...
Eine Schattenkopie der fr die Sicherung angegebenen Volumes wird erstellt...
Eine Schattenkopie der fr die Sicherung angegebenen Volumes wird erstellt...
Eine Schattenkopie der fr die Sicherung angegebenen Volumes wird erstellt...
Beschriften Sie das neue Medium mit "SBS 2011_08_20 23:00 DVD_01". Anhand dieser Informationen
wird dieses Sicherungsmedium bei der Wiederherstellung identifiziert.
Legen Sie das neue Medium in Laufwerk "F:" ein. Drcken Sie anschließend [W],
um den Vorgang fortzusetzen. Drcken Sie [B], um den Vorgang abzubrechen.
[W] Weiter [B] Beenden Die Pipe wurde beendet.

Am Besten legt man sich ein Ordner “Backup” an, in dem die zugehörigen Konfigurations- und Log-Dateien, jedoch nicht das eigentliche Backup abgelegt werden:

C:\>
|-> Backup
|-> Backup.bat
|-> Backup.log
|-> promptc.txt

Hier ein Beispiel für die zugehörige Batch-Datei “Backup.bat”:

@echo OFF
echo #######################################################
echo # Backup für SBS Essentials auf RDX wurde gestartet
echo #######################################################
 
echo ####################################################### >> C:\Backup\backup.log
echo # Backup Start:  %date% @ %time% >> C:\Backup\backup.log
echo ####################################################### >> C:\Backup\backup.log
 
type C:\Backup\promptc.txt | WBADMIN START BACKUP -backuptarget:F: -include:C:,D: -allcritical -systemState -quiet >> C:\Backup\backup.log
 
echo ####################################################### >> C:\Backup\backup.log
echo # Backup End:  %date% @ %time% >> C:\Backup\backup.log
echo ####################################################### >> C:\Backup\backup.log
 
echo #######################################################
echo # Backup für SBS Essentials auf RDX wurde beendet
echo #######################################################

Nun legt man noch ein geplante Aufgabe mit höchsten Privilegien (wichtig!) an, der zur gewünschten Zeit die obige “Backup.bat” ausführt.

create vdisk file=LW:\Backup.vhd maximum=40000 type=expandable
select vdisk file=LW:\Backup.vhd
attach vdisk
create partition primary
format quick label=Backup
 
@echo off
title Backup...
rem configuration
set destination=E:
rem diskpart attach vdisk
diskpart /s attach-vhd.txt
rem pause
ping 127.0.0.1 -n 5 > NUL
rem backup
start /wait wbadmin start backup -backupTarget:%destination% -allCritical -include:C: -vssFull -quiet
rem diskpart detach vdisk
diskpart /s detach-vhd.txt

Inhalt der Datei “attach-vhd.txt”:

select vdisk file=LW:\Backup.vhd
attach vdisk

Inhalt der Datei “detach-vhd.txt”:

select vdisk file=LW:\Backup.vhd
detach vdisk

REM Setze Verzeichnis fuer Loeschvorgang 
03.
REM Anzahl = Anzahl der Verzeichnisse, die nicht gelöscht werden 
04.
REM 
05.
REM fuer Aktivierung ECHO entfernen, ansonsten nur Anzeige 
06.
REM 
07.
 
08.
set Loesch=X:\ 
09.
set Anzahl=3  
10.
for /f "skip=%Anzahl%" %%i in ('dir /AD /B /O-D %Loesch%') do echo rd /s /q "%Loesch%\%%i" 
11.
 
12.
REM Backupverzeichnis erstellen 
13.
set jahr=%date:~-4% 
14.
set monat=%date:~-7,2% 
15.
set tag=%date:~-10,2% 
16.
 
17.
set newfolder=%jahr%-%monat%-%tag% 
18.
mkdir X:\%newfolder% 
19.
 
20.
REM Backup durchführen 
21.
wbadmin start backup -allCritical -include:d: -backupTarget:X:\%newfolder% -vssfull -quiet 
22.
 
23.
 
24.
REM Variablen loeschen 
25.
set Loesch= 
26.
set Anzahl= 
27.
set jahr= 
28.
set monat= 
29.
set tag= 
30.
set newfolder=