Guest User

DSRotBackup_v33-zip

a guest
Oct 26th, 2025
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. @echo off
  2.  
  3. rem Fenster-Titel festlegen
  4.  
  5. title Datensicherung
  6.  
  7. rem Konfiguration
  8.  
  9. rem Ziel festlegen
  10.  
  11. rem Netzlaufwerk
  12.  
  13. REM net use V: \\BACKUPSERVER\backup KENNWORT /user:BENUTZERNAME /persistent:no
  14. REM set Destination=V:
  15.  
  16. rem Lokales Ziel
  17.  
  18. set Destination=E:\Backup\%computername%
  19.  
  20. rem Pfad fuer die Protokolle festlegen
  21.  
  22. set LogDir=C:\Backup\Logs
  23.  
  24. rem Festlegen, wie viele Wochen gesichert werden
  25.  
  26. set NumberOfWeeksToKeep=4
  27.  
  28. rem Tag der Vollsicherung festlegen
  29.  
  30. set FullBackupDay=Monday
  31.  
  32. rem Woche auslesen und Leerzeichen entfernen
  33.  
  34. set /p Week=< Week.txt
  35. set Week=%Week: =%
  36.  
  37. rem Wochentag auslesen
  38.  
  39. PowerShell Set-Culture -CultureInfo en-EN
  40. for /f "delims=" %%i in ('PowerShell Get-Date -Format "dddd"') do set "Weekday=%%i"
  41. PowerShell Set-Culture -CultureInfo de-DE
  42.  
  43. REM set Weekday=Monday
  44.  
  45. rem Datum und Uhrzeit fuer die E-Mail setzen
  46.  
  47. set Datum=%date%
  48. set Uhrzeit=%time:~0,5%
  49.  
  50. rem Fehler-Variable setzen
  51.  
  52. set error=false
  53.  
  54. rem Vollstaendige Datensicherung ausfuehren, sofern der Tag stimmt.
  55.  
  56. if %Weekday%==%FullBackupDay% goto full
  57.  
  58. rem Ausfuehren der differentiellen Datensicherung
  59.  
  60. del %LogDir%\Current.log /q
  61.  
  62. snapshot64.exe HD1:1 %Destination%\Diff-%Week%-%Weekday%-$disk.sna -h%Destination%\Full-%Week%-%FullBackupDay%-$disk.hsh -WT --novss -L0 --LogFile:%LogDir%\Current.log --CreateDir --FullIfHashIsMissing
  63. if not %errorlevel%==0 set error=true
  64. snapshot64.exe C: %Destination%\Diff-%Week%-%Weekday%-$disk.sna -h%Destination%\Full-%Week%-%FullBackupDay%-$disk.hsh -RWT --AllWriters -L0 --LogFile:%LogDir%\Current.log --FullIfHashIsMissing
  65. if not %errorlevel%==0 set error=true
  66.  
  67. copy %LogDir%\Current.log %LogDir%\%Week%-%Weekday%.txt /y
  68.  
  69. goto eventlog
  70.  
  71. rem Ausfuehren der vollstaendigen Datensicherung
  72. :full
  73.  
  74. rem Wochenwechsel
  75.  
  76. set /A Week=Week %% NumberOfWeeksToKeep + 1
  77. echo %Week% > week.txt
  78.  
  79. rem Vorige "Current.log" entfernen
  80.  
  81. del %LogDir%\Current.log /q
  82.  
  83. rem Alten Sicherungssatz entfernen
  84.  
  85. del %destination%\*-%Week%-*.sna /q
  86.  
  87. snapshot64.exe HD1:1 %Destination%\Full-%Week%-%Weekday%-$disk.sna -WT --novss -L0 --LogFile:%LogDir%\Current.log --CreateDir
  88. if not %errorlevel%==0 set error=true
  89. snapshot64.exe C: %Destination%\Full-%Week%-%Weekday%-$disk.sna -RWT --AllWriters -L0 --LogFile:%LogDir%\Current.log
  90. if not %errorlevel%==0 set error=true
  91.  
  92. copy %LogDir%\Current.log %LogDir%\%Week%-%Weekday%.txt /y
  93.  
  94. rem Ereignisprotokoll-Eintrag
  95. :eventlog
  96.  
  97. setlocal enableextensions enabledelayedexpansion
  98.  
  99. set eventtext=
  100.  
  101. REM for /f "delims=" %%l in (%LogDir%\Current.log) do set eventtext=!eventtext!%%l
  102.  
  103. for /f "delims=" %%l in (%LogDir%\Current.log) do set eventtext=!eventtext!%%%l___
  104.  
  105. set eventtext_cut=!eventtext:~0,5000!
  106.  
  107. if %error%==false (
  108. eventcreate /id 100 /l application /t information /so "DriveSnapshotAgent" /d "%eventtext_cut%"
  109. ) else (
  110. eventcreate /id 100 /l application /t error /so "DriveSnapshotAgent" /d "%eventtext_cut%"
  111. )
  112.  
  113. setlocal disableextensions disabledelayedexpansion
  114. endlocal
  115.  
  116. rem E-Mail
  117. :email
  118.  
  119. echo. > e-mail.txt
  120. if %error%==false echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war erfolgreich. >> e-mail.txt
  121. if %error%==true (
  122. echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war NICHT erfolgreich. >> e-mail.txt
  123. REM Tools\smtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sDatensicherung -ie-mail.txt -luBENUTZERNAME -lpKENNWORT
  124. REM Tools\smtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sBackup -i%LogDir%\%Week%-%Weekday%.txt -luBENUTZERNAME -lpKENNWORT
  125. )
  126.  
  127. rem Netzlaufwerk trennen
  128.  
  129. REM net use V: /d
Advertisement
Add Comment
Please, Sign In to add comment