-
-
Save Clijsters/4f83fd0cf231d5843f3c to your computer and use it in GitHub Desktop.
Move old backups to archive folder. delete oldest backups from archive folder.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Option Explicit | |
'-- Deklarationen --' | |
Dim Wshshell 'ScriptHostShell | |
Dim FSO 'FileSystemObject | |
Dim Backupordner 'Aktuelle Sicherungen | |
Dim Archivordner 'Alte Sicherungen | |
Dim MaxAlter 'In Tagen | |
Dim MaxAlterArchiv 'In Tagen | |
Dim MaxAlterD 'Als Datum | |
Dim MaxAlterArchivD 'Als Datum | |
Dim Dateien 'Array | |
Dim Archivdateien 'Array | |
Dim Vorlage 'Lese aus HTML-Vorlage | |
Dim ObjMSG 'CDO Messageobject | |
Dim errcount 'Fehlerzähler | |
Dim Datei 'Von Array | |
Dim CountAnalyse 'Dateizähler | |
'-- Definitionen --' | |
Backupordner = "C:\BACKUPS" | |
Archivordner = "C:\backups\Alte_Backups\" | |
MaxAlter = 2 | |
MaxAlterArchiv = 15 | |
htmlPattern = "C:\users\clisters\myMail.html" | |
'======================================================== | |
errcount = 0 | |
movecount = 0 | |
delcount = 0 | |
analysecount = 0 | |
MaxAlterD = FormatDateTime( now() - MaxAlter ,2) | |
MaxAlterArchivD = FormatDateTime( now() - MaxAlterArchiv ,2) | |
Set Wshshell = CreateObject("wscript.shell") | |
Set FSO = Createobject("Scripting.FileSystemObject") | |
Set Dateien = FSO.GetFolder(Backupordner).Files | |
Set Archivdateien = FSO.GetFolder(Archivordner).Files | |
Set objMsg = CreateObject("CDO.Message") | |
Vorlage = FSO.OpenTextFile(htmlPattern).ReadAll | |
Vorlage = replace(vorlage, "_#Computer#_", "WXP-Clijsters") | |
Vorlage = replace(vorlage, "_#datum#_", FormatDateTime(now(), 1)) | |
Vorlage = replace(vorlage, "_#BUPFAD#_", Backupordner) | |
Vorlage = replace(vorlage, "_#beginn#_", FormatDateTime(now(), 4)) | |
'=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_='=_=' | |
Load() '=_=' | |
Main() '=_=' | |
Ende() '=_=' | |
Wscript.quit '=_=' | |
'=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_='=_=' | |
Sub Load() | |
if not FSO.FolderExists(Backupordner) then | |
call Protokoll(1,"Backupordner nicht gefunden. Anwendung wird beendet.") | |
Ende() | |
ElseIf not FSO.FolderExists(Archivordner) then | |
call Protokoll(1,"Archivordner nicht gefunden. Anwendung wird beendet.") | |
Ende() | |
End If | |
End Sub | |
Sub Main() | |
On Error Resume Next | |
For Each Datei in Archivdateien | |
countanalyse = countanalyse + 1 | |
wscript.echo "Überprüfe " & Datei.Name & vbcrlf | |
If Err.Number <> 0 Then | |
call Protokoll(1, "Fehler! Nummer: " & err.number & " Beschr.: " & Err.Description) | |
Err.Clear | |
End If | |
if DateDiff("d", Datei.DateLastModified, MaxAlterArchivD) > 0 then | |
'#####LOESCHE###### | |
wscript.echo "Positiv: " & Datei.Name | |
FSO.deletefile(Datei.path) | |
If Err.Number <> 0 Then | |
call Protokoll(1, "Fehler! Nummer: " & err.number & " Beschr.: " & Err.Description) | |
Err.Clear | |
Else | |
delcount = delcount + 1 | |
End If | |
End If | |
Next | |
Set Datei = Nothing | |
For Each Datei in Dateien | |
countanalyse = countanalyse + 1 | |
wscript.echo "Überprüfe " & Datei.Name & vbcrlf | |
If Err.Number <> 0 Then | |
call Protokoll(1,"Fehler! Nummer: " & err.number & " Beschr.: " & Err.Description) | |
Err.Clear | |
End If | |
if DateDiff("d", Datei.DateLastModified, MaxAlterD) > 0 then | |
'##Verschiebe### | |
wscript.echo "Positiv: " & Datei.Name | |
FSO.MoveFile Datei.path, Archivordner | |
If Err.Number <> 0 Then | |
call Protokoll(1,"Fehler! Nummer: " & err.number & " Beschr.: " & Err.Description) | |
Err.Clear | |
Else | |
movecount = movecount + 1 | |
End If | |
End If | |
Next | |
Set Datei = Nothing | |
If Err.Number <> 0 Then | |
call Protokoll(1,"Letzter Fehler: Nummer: " & err.number & " Beschr.: " & Err.Description) | |
Else | |
call Protokoll(0,"Kein Fehler festgestellt.") | |
End If | |
End Sub | |
Sub Ende() | |
Vorlage = replace(Vorlage, "_#analysecount#_", countanalyse) | |
Vorlage = replace(Vorlage, "_#movecount#_", movecount) | |
Vorlage = replace(Vorlage, "_#delcount#_", delcount) | |
Vorlage = replace(Vorlage, "_#protpfad#_", "MailSender()") | |
Vorlage = replace(Vorlage, "_#errcount#_", errcount) | |
objmsg.configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtperver") = "127.0.0.1" | |
objmsg.HTMLbody = vorlage | |
objmsg.From = "TEST@dominiqueclijsters.de" | |
objmsg.To = "mail@host.com" | |
objmsg.Send | |
wscript.echo "ENDE" | |
wscript.quit | |
End Sub | |
Sub Protokoll(typ, Text) | |
Wscript.Echo "Status: " & Text & vbcrlf | |
fso.createtextfile("C:\text.text").writeline "Err" | |
if typ <> 0 Then errcount = errcount + 1 | |
End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment