Advertisement
Guest User

andysblog-de

a guest
Oct 31st, 2023
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 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. REM Tools\weekday.exe > weekday.txt
  40. REM set /p Weekday=< weekday.txt
  41.  
  42. for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (set Weekday=%%g)
  43.  
  44. if %Weekday%==0 set Weekday=Sunday
  45. if %Weekday%==1 set Weekday=Monday
  46. if %Weekday%==2 set Weekday=Tuesday
  47. if %Weekday%==3 set Weekday=Wednesday
  48. if %Weekday%==4 set Weekday=Thursday
  49. if %Weekday%==5 set Weekday=Friday
  50. if %Weekday%==6 set Weekday=Saturday
  51.  
  52. REM set Weekday=Monday
  53.  
  54. rem Datum und Uhrzeit fuer die E-Mail setzen
  55.  
  56. set Datum=%date%
  57. set Uhrzeit=%time:~0,5%
  58.  
  59. rem Fehler-Variable setzen
  60.  
  61. set error=false
  62.  
  63. rem Vollstaendige Datensicherung ausfuehren, sofern der Tag stimmt.
  64.  
  65. if %Weekday%==%FullBackupDay% goto full
  66.  
  67. rem Ausfuehren der differentiellen Datensicherung
  68.  
  69. del %LogDir%\Current.log /q
  70.  
  71. snapshot.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
  72. if not %errorlevel%==0 set error=true
  73. snapshot.exe C: %Destination%\Diff-%Week%-%Weekday%-$disk.sna -h%Destination%\Full-%Week%-%FullBackupDay%-$disk.hsh -RWT --AllWriters -L0 --LogFile:%LogDir%\Current.log --FullIfHashIsMissing
  74. if not %errorlevel%==0 set error=true
  75.  
  76. copy %LogDir%\Current.log %LogDir%\%Week%-%Weekday%.txt /y
  77.  
  78. goto eventlog
  79.  
  80. rem Ausfuehren der vollstaendigen Datensicherung
  81. :full
  82.  
  83. rem Wochenwechsel
  84.  
  85. set /A Week=Week %% NumberOfWeeksToKeep + 1
  86. echo %Week% > week.txt
  87.  
  88. rem Vorige "Current.log" entfernen
  89.  
  90. del %LogDir%\Current.log /q
  91.  
  92. rem Alten Sicherungssatz entfernen
  93.  
  94. del %destination%\*-%Week%-*.sna /q
  95.  
  96. snapshot.exe HD1:1 %Destination%\Full-%Week%-%Weekday%-$disk.sna -WT --novss -L0 --LogFile:%LogDir%\Current.log --CreateDir
  97. if not %errorlevel%==0 set error=true
  98. snapshot.exe C: %Destination%\Full-%Week%-%Weekday%-$disk.sna -RWT --AllWriters -L0 --LogFile:%LogDir%\Current.log
  99. if not %errorlevel%==0 set error=true
  100.  
  101. copy %LogDir%\Current.log %LogDir%\%Week%-%Weekday%.txt /y
  102.  
  103. rem Ereignisprotokoll-Eintrag
  104. :eventlog
  105.  
  106. setlocal enableextensions enabledelayedexpansion
  107.  
  108. set eventtext=
  109.  
  110. REM for /f "delims=" %%l in (%LogDir%\Current.log) do set eventtext=!eventtext!%%l
  111.  
  112. for /f "delims=" %%l in (%LogDir%\Current.log) do set eventtext=!eventtext!%%%l___
  113.  
  114. set eventtext_cut=!eventtext:~0,5000!
  115.  
  116. if %error%==false (
  117. eventcreate /id 100 /l application /t information /so "DriveSnapshotAgent" /d "%eventtext_cut%"
  118. ) else (
  119. eventcreate /id 100 /l application /t error /so "DriveSnapshotAgent" /d "%eventtext_cut%"
  120. )
  121.  
  122. setlocal disableextensions disabledelayedexpansion
  123. endlocal
  124.  
  125. rem E-Mail
  126. :email
  127.  
  128. echo. > e-mail.txt
  129. if %error%==false echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war erfolgreich. >> e-mail.txt
  130. if %error%==true echo Die Datensicherung am %Datum% um %Uhrzeit% von Computer %computername% war NICHT erfolgreich. >> e-mail.txt
  131.  
  132. REM Tools\smtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sDatensicherung -ie-mail.txt -luBENUTZERNAME -lpKENNWORT
  133. REM Tools\smtpsend.exe -fABSENDER -tEMPFAENGER -hMAILSERVER -sBackup -i%LogDir%\%Week%-%Weekday%.txt -luBENUTZERNAME -lpKENNWORT
  134.  
  135. rem Netzlaufwerk trennen
  136.  
  137. REM net use V: /d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement