>|Sh4d0w|<
Commander
- Registriert
- Jan. 2009
- Beiträge
- 2.515
Hallo,
ich habe mir eine Batch geschrieben, die meinen Ordner "Eigene Dateien" zuerst mit WinRar (Rar.exe) in der niedrigsten Kompressionsrate in Archive erstellt und splittet und auf eine andere HDD sichert.
Die Batch wird auf meinem Filer monatlich mittels der Aufgabenplanung ausgeführt.
Sie sieht so aus:
Im "BACKUP"-Ordner unter "Eigene_Dateien" wird somit jeden Monat ein Unterordner nach einem Datum-Schema erstellt. Am heutigen Datum heißt der Unterordner also 2012-12-10.
Da mich das Sichern jedes Mal mindestens 80GB (und Zukunft mehr) kostet, möchte ich in der Batch noch weitere Zeilen einfügen, die den ältesten Ordner löscht. Insgesamt möchte ich sechs Monate aufheben, d.h Minimum sechs Unterordner müssen bestehen bleiben.
Meine Vermutung ist, dass das cmd-mäßig nicht möglich sein wird (ODER DOCH?)
Mit VBScripts geht das bestimmt -> allerdings keine Erfahrung
.
Ansonsten kommt mir folgendes in den Sinn:
Angelegt werden die Unterordner Januar bis Dezember (12 Stück) und die Batch mit der Variable %monat% soll prüfen, um welchen Monat es sich handelt und ab dann IF-Anweisungen startet.
Bsp:
if %monat% == 12
then rmdir D:\BACKUP\Eigene_Dateien\Juni\*.* /S /Q
else if %monat% ==11
then rmdir D:\BACKUP\Eigene_Dateien\Mai\*.* /S /Q
...
...
...
So eine IF-Anweisung bekomme ich hin, man muss sich da nur etwas einlesen.
Wer kennt sich hier etwas aus
PS: Ja manuell löschen könnte man das natürlich. Ich bin einer derjenigen, die das alles automatisch steuern möchte
ich habe mir eine Batch geschrieben, die meinen Ordner "Eigene Dateien" zuerst mit WinRar (Rar.exe) in der niedrigsten Kompressionsrate in Archive erstellt und splittet und auf eine andere HDD sichert.
Die Batch wird auf meinem Filer monatlich mittels der Aufgabenplanung ausgeführt.
Sie sieht so aus:
Code:
@echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
mkdir D:\BACKUP\Eigene_Dateien\%jahr%-%monat%-%tag%
C:\#Install\Rar\Rar.exe a -m0 -v4g "D:\BACKUP\Eigene_Dateien\%jahr%-%monat%-%tag%\Eigene Dateien.rar" "V:\FlexRAID\Eigene Dateien"
Im "BACKUP"-Ordner unter "Eigene_Dateien" wird somit jeden Monat ein Unterordner nach einem Datum-Schema erstellt. Am heutigen Datum heißt der Unterordner also 2012-12-10.
Da mich das Sichern jedes Mal mindestens 80GB (und Zukunft mehr) kostet, möchte ich in der Batch noch weitere Zeilen einfügen, die den ältesten Ordner löscht. Insgesamt möchte ich sechs Monate aufheben, d.h Minimum sechs Unterordner müssen bestehen bleiben.
Meine Vermutung ist, dass das cmd-mäßig nicht möglich sein wird (ODER DOCH?)
Mit VBScripts geht das bestimmt -> allerdings keine Erfahrung

Ansonsten kommt mir folgendes in den Sinn:
Angelegt werden die Unterordner Januar bis Dezember (12 Stück) und die Batch mit der Variable %monat% soll prüfen, um welchen Monat es sich handelt und ab dann IF-Anweisungen startet.
Bsp:
if %monat% == 12
then rmdir D:\BACKUP\Eigene_Dateien\Juni\*.* /S /Q
else if %monat% ==11
then rmdir D:\BACKUP\Eigene_Dateien\Mai\*.* /S /Q
...
...
...
So eine IF-Anweisung bekomme ich hin, man muss sich da nur etwas einlesen.
Wer kennt sich hier etwas aus

PS: Ja manuell löschen könnte man das natürlich. Ich bin einer derjenigen, die das alles automatisch steuern möchte
