Automatisierte Windows Sicherung auf SMB Share mit 5 Versionen und Mailing Funktion
Hallo Leute,
ich habe wieder mal ein kleines Script gebastelt.
Dieses Script erstellt eine volle Windows Sicherung (wbadmin) inkl. VSS.
Bei einem Fehler wird ein Mail mit Logfile verschickt.
Auch werden insgesamt 5 Versionen der Sicherung aufbewahrt.
Hier das Script.
Sollte eigentlich alles selbsterklärend sein.
Noch einen Windows Task erstellen und fertig. ;)
Grüsse,
Joe
ich habe wieder mal ein kleines Script gebastelt.
Dieses Script erstellt eine volle Windows Sicherung (wbadmin) inkl. VSS.
Bei einem Fehler wird ein Mail mit Logfile verschickt.
Auch werden insgesamt 5 Versionen der Sicherung aufbewahrt.
Hier das Script.
Sollte eigentlich alles selbsterklärend sein.
:: 2013 - Joe
@echo on
:: Sicherungsvariablen definieren
set target=\\nas01\share01
set volumestobackup=C:,D:
:: Mail Variablen
set mailempfaenger=name@domain.at
set mailsender=sicherung@domain.at
set mailserver=mailserver
:: Mailserver Authentifizierung (Falls benötigt)
set smtpuser=
set smtppw=
set mailbetreff="Windows-Sicherung auf "%computername%" fehlgeschlagen!"
set mailtext="Anbei das Error-Log fuer die fehlgeschlagene Sicherung!"
:: ################### AB HIER NICHTS MEHR ÄNDERN #####################
:: Backup-Versionierung
set target1=%target%\1
set logfile=%target1%\Windows-Sicherung.log
:: Backup Version 5 löschen
if not exist %target%\5 goto :skipdel
rmdir /s /q %target%\5
:skipdel
:: Backup-Versionen aktualisieren
if not exist %target1% goto :skiprename
ren %target%\4 5
ren %target%\3 4
ren %target%\2 3
ren %target%\1 2
:skiprename
:: Backup Versions-Ordner erstellen
if exist %target1% goto :skipcreate
mkdir %target%\1
:skipcreate
:: Logfile Header Schreiben
echo ########################## %computername%: %date% - %time% >> %logfile%
echo. >> %logfile%
:: Windows-Sicherung ausführen und Errorlevel abfragen
wbadmin start backup -backuptarget:%target1% -include:%volumestobackup% -vssfull -allCritical -quiet >> %logfile%
set backuperrorlevel=%errorlevel%
if "%backuperrorlevel%"=="0" (goto end) else (goto fehler)
:: Bei Fehler ausführen (ERRORLEVEL 0)
:fehler
echo. >> %logfile%
echo. >> %logfile%
echo ______________________________ >> %logfile%
echo ****************************** >> %logfile%
echo ****************************** >> %logfile%
echo Ein Fehler ist aufgetreten!! >> %logfile%
echo ****************************** >> %logfile%
echo ****************************** >> %logfile%
echo Errorlevel: %backuperrorlevel% >> %logfile%
echo. >> %logfile%
echo. >> %logfile%
:: Bei Fehler Mail verschicken
:: BLAT muss unter C:\windows\system32 liegen! Ansonsten wird das E-Mail nicht verschickt!
:: http://sourceforge.net/projects/blat
if not exist "C:\windows\system32\blat.exe" goto end
if defined %smtpuser% (goto mailauthtrue) else (goto mailauthfalse)
:mailauthfalse
blat.exe -to %mailempfaenger% -f %mailsender% -server %mailserver% -s %mailbetreff% -body %mailtext% -attacht %logfile%
goto end
:mailauthtrue
blat.exe -to %mailempfaenger% -f %mailsender% -server %mailserver% -u %smtpuser% -pw %smtppw% -s %mailbetreff% -body %mailtext% -attacht %logfile%
:: Logfile Footer schreiben
:end
echo. >> %logfile%
echo ########################## %computername%: %date% - %time% >> %logfile%
echo ############################# Errorlevel: %backuperrorlevel% >> %logfile%
echo. >> %logfile%
exit
Noch einen Windows Task erstellen und fertig. ;)
Grüsse,
Joe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 206691
Url: https://administrator.de/contentid/206691
Ausgedruckt am: 22.11.2024 um 17:11 Uhr