beta-way-of-life
Goto Top

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.

:: 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

Content-ID: 206691

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

Ausgedruckt am: 22.11.2024 um 17:11 Uhr