Für ein paar Kunden war die Verwendung der Rotationssicherung mit Drive Snapshot unpassend, da die betroffenden Computer nicht jeden Tag in Betrieb sind. Bei einem Kunden sollte die Sicherung zwar automatisch beim Herunterfahren ausgeführt werden, allerdings nur Differentiell, bei einem anderen Kunden wird die Sicherung nicht per Aufgabe, sondern manuell ausgeführt. Für beide Szenarien war nachfolgendes Skript die Basis.
Versions-basiert bedeutet in diesem Kontext, das die erste Sicherung eine Vollsicherung ist und alle nachfolgenden immer differentiell.
Das aktuelle Skript erstellt zunächst eine Vollsicherung, danach entsprechend der Angabe bei
set NumberOfVersionsToKeep=15
differentielle Sicherungen. Ist das Limit erreicht wird der vorangegangene Sicherungs-Satz umbenannt (Präfix “Pre_”) und ein neuerer Satz erstellt. Daraus folgt: Es gibt zwei Vollsicherungen zzgl. die jeweiligen differentiellen Sicherungen.
Eine weitere Änderung gegenüber dem Rotationssicherungs-Skript besteht in der Änderung beim Parameter “-L0” und dem hinzufügen der Paramter “–CreateDir –FullIfHashIsMissing”. Ferner ist mit “set exclude=” eine Vorbereitung für Ausschlüsse vorbereitet.
- Den Inhalt des Archivs z.B. unter “C:\Backup” extrahieren.
- Die Datei “backup.cmd” und ggf. “Version.txt” den eigenen Ansprüchen entsprechend anpassen.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo!
Vielen Dank für diese Informationen!
Ich habe ein Verständnisproblem, was passiert hier:
set /p Version=< Version.txt
set Version=%Version: =%
set /A Version=Version %% NumberOfVersionsToKeep + 1
Vor allem die zweite Zeile macht mir zu schaffen….
set /p Version=< Version.txt
Die Version wird aus der Datei "Version.txt" in die Variable "Version" eingelesen.
set Version=%Version: =%
An dieser Stelle wird ein überflüssige Leerzeichen entfernt.
set /A Version=Version %% NumberOfVersionsToKeep + 1
Die Version wird um eins hochgezählt, außer es wird das Limit ("NumberOfVersionsToKeep") erreicht, dann geht's von vorne los.
Dieses Script ist perfekt! Wie kann ich das Error-LogLevel mit smtpsend vom Rotations-Script hier rein basteln? Bekomme es nicht hin….
So als “Schnellschuss” (ungetestet):
Im Abschnitt “Konfiguration” die Zeile
set error=false
einfügen.
Nach jedem “snapshot…”-Befehl die Zeile
if not %errorlevel%==0 set error=true
einfügen.
Am Ende des Skripts die Zeilen
rem E-Mail
:email
echo. > e-mail.txt
if %error%==false echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war erfolgreich. >> e-mail.txt
if %error%==true echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war NICHT erfolgreich. >> e-mail.txt
REM Toolssmtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sDatensicherung -ie-mail.txt -luBENUTZERNAME -lpKENNWORT
REM Toolssmtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sBackup -i%LogDir%%Week%-%Weekday%.txt -luBENUTZERNAME -lpKENNWORT
einfügen und smtpsend einkommentieren als auch konfigurieren.