Skript Backups löschen
Hallo,
ich suche eine Möglichkeit Backup Dateien auf einer USB Platte zu löschen wenn der freie Platz ein vorher festgelegtes Minimum unterschreitet.
z.B. Platz kleiner 100 GB lösche die älteste Datei vom Typ *.tib bis mehr als 100 GB Speicher vorhanden sind
Zur Zeit lösche ich Daten automatisch nach einer festgelegten Anzahl von Tagen mit folgendem VBS Skript.
Option Explicit
Dim intZahl '
Dim strExtension '
Dim intTage '
Dim objDatei '
Dim objFSO '
Dim objOrdner '
Dim strOrdner '
Set objFSO = CreateObject("Scripting.FileSystemObject")
strOrdner = "E:\"
strExtension = "tib"
intTage = 6
Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0
For Each objDatei In objOrdner.Files
If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _
And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then
objDatei.Delete
intZahl = intZahl + 1
End If
Next
Leider sind meine VB oder Powershell Kenntniss hier nicht ausreichend und ich wäre Dankbar für jeden Tip.
Gruss Christian
ich suche eine Möglichkeit Backup Dateien auf einer USB Platte zu löschen wenn der freie Platz ein vorher festgelegtes Minimum unterschreitet.
z.B. Platz kleiner 100 GB lösche die älteste Datei vom Typ *.tib bis mehr als 100 GB Speicher vorhanden sind
Zur Zeit lösche ich Daten automatisch nach einer festgelegten Anzahl von Tagen mit folgendem VBS Skript.
Option Explicit
Dim intZahl '
Dim strExtension '
Dim intTage '
Dim objDatei '
Dim objFSO '
Dim objOrdner '
Dim strOrdner '
Set objFSO = CreateObject("Scripting.FileSystemObject")
strOrdner = "E:\"
strExtension = "tib"
intTage = 6
Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0
For Each objDatei In objOrdner.Files
If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _
And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then
objDatei.Delete
intZahl = intZahl + 1
End If
Next
Leider sind meine VB oder Powershell Kenntniss hier nicht ausreichend und ich wäre Dankbar für jeden Tip.
Gruss Christian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 334430
Url: https://administrator.de/contentid/334430
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
3 Kommentare
Neuester Kommentar
Powershell
hauruck
$drive = 'W:'
$folder = 'W:\Backup'
while (((gwmi win32_LogicalDisk -Filter "DeviceId='$drive'").Freespace) -lt 100GB){
gci $folder -Filter *.tib | sort LastWriteTime -Descending | select -First 1 | remove-item -Force -Verbose
}
Zitat von @csitsolutions-mg:
Hallo,
ich suche eine Möglichkeit Backup Dateien auf einer USB Platte zu löschen wenn der freie Platz ein vorher festgelegtes Minimum unterschreitet.
z.B. Platz kleiner 100 GB lösche die älteste Datei vom Typ *.tib bis mehr als 100 GB Speicher vorhanden sind
Zur Zeit lösche ich Daten automatisch nach einer festgelegten Anzahl von Tagen mit folgendem VBS Skript.
Option Explicit
Dim intZahl '
Dim strExtension '
Dim intTage '
Dim objDatei '
Dim objFSO '
Dim objOrdner '
Dim strOrdner '
Set objFSO = CreateObject("Scripting.FileSystemObject")
strOrdner = "E:\"
strExtension = "tib"
intTage = 6
Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0
For Each objDatei In objOrdner.Files
If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _
And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then
objDatei.Delete
intZahl = intZahl + 1
End If
Next
Leider sind meine VB oder Powershell Kenntniss hier nicht ausreichend und ich wäre Dankbar für jeden Tip.
Gruss Christian
Moin,Hallo,
ich suche eine Möglichkeit Backup Dateien auf einer USB Platte zu löschen wenn der freie Platz ein vorher festgelegtes Minimum unterschreitet.
z.B. Platz kleiner 100 GB lösche die älteste Datei vom Typ *.tib bis mehr als 100 GB Speicher vorhanden sind
Zur Zeit lösche ich Daten automatisch nach einer festgelegten Anzahl von Tagen mit folgendem VBS Skript.
Option Explicit
Dim intZahl '
Dim strExtension '
Dim intTage '
Dim objDatei '
Dim objFSO '
Dim objOrdner '
Dim strOrdner '
Set objFSO = CreateObject("Scripting.FileSystemObject")
strOrdner = "E:\"
strExtension = "tib"
intTage = 6
Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0
For Each objDatei In objOrdner.Files
If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _
And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then
objDatei.Delete
intZahl = intZahl + 1
End If
Next
Leider sind meine VB oder Powershell Kenntniss hier nicht ausreichend und ich wäre Dankbar für jeden Tip.
Gruss Christian
hm..*.tib
gehe ich recht in der annahme das es sich um acronis image files handelt ?
dann lass doch acronis die daten löschen...die funktion replikation von backups/bereinigung kann das, auch kannst du sagen wie lange du die daten halten möchtest....
Frank
Hallo,
Der Vollstaendigkeit halber ;)
Hab' vor Ewigkeiten (als es das noch nicht gab, nehme ich an) mal das annaehernde Gegenteil davon in einen Batch-Schnipsel geschrieben...
Loescht somit alle ausser das neueste.
Koennte man wohl mal umdrehen; wuerde aber, wenn ueberhaupt, die PoSh Loesung praeferieren.
LG
Dominique
Der Vollstaendigkeit halber ;)
Hab' vor Ewigkeiten (als es das noch nicht gab, nehme ich an) mal das annaehernde Gegenteil davon in einen Batch-Schnipsel geschrieben...
Loescht somit alle ausser das neueste.
for /f %%i in ('dir /b /o-D /a-d /tC "%DatSich%\*.tib"^|more /e +1') do del /f /s /q %%i
LG
Dominique