Robocopy 5 Tage Sicherung
Hallo zusammen,
ich bastele mir gerade eine Batch mit Robocopy zusammen.
folgenden Zustand habe ich momentan.
Batch legt Backup von Quelle in ein Verzeichniss \\Server\Backup\Backup.%datum% (z.B.Backup.02.09.2009).
Jetzt häte ich gerne noch einen befehl der vor dem Backup nachschaut welche Ordner im Backupverzeichniss
älter als 5 Tage sind und diese dann löscht. Grund dafür ist das mir sonst das Ziellaufwerk überläuft.
für ein kleines Script wäre ich dankbar
MfG
B.Willers
ich bastele mir gerade eine Batch mit Robocopy zusammen.
folgenden Zustand habe ich momentan.
Batch legt Backup von Quelle in ein Verzeichniss \\Server\Backup\Backup.%datum% (z.B.Backup.02.09.2009).
Jetzt häte ich gerne noch einen befehl der vor dem Backup nachschaut welche Ordner im Backupverzeichniss
älter als 5 Tage sind und diese dann löscht. Grund dafür ist das mir sonst das Ziellaufwerk überläuft.
für ein kleines Script wäre ich dankbar
MfG
B.Willers
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 124203
Url: https://administrator.de/contentid/124203
Ausgedruckt am: 14.11.2024 um 07:11 Uhr
9 Kommentare
Neuester Kommentar
Ich würde anstatt Datum als Ordnernamen einfach 1, 2, 3, 4 und 5 nehmen. Dann solltest einfach den ältesten immer löschen, die anderen bennenst du um, erhögst also die Zahl (4->5, 3->4, etc.) und erstellst die 1.
So hast du in 5 immer die älteste und in 1 die neueste Sicherung. Das Datum kannst du ja jeweils in eine Textdatei schreiben, oder besser du schreibst den Sicherungsvorgang direkt in eine Logdatei in denselben Ordner, wo die Sicherung liegt.
So hast du in 5 immer die älteste und in 1 die neueste Sicherung. Das Datum kannst du ja jeweils in eine Textdatei schreiben, oder besser du schreibst den Sicherungsvorgang direkt in eine Logdatei in denselben Ordner, wo die Sicherung liegt.
Hi,
ganz allgemein: Wie wäre es denn, wenn du dich mal mit der Suchfunktion dieses Forums vertraut machen würdest und sie auch benutzt?
Gerade zu deinen Fragen gibt es nämlich sowohl reichlich Themen als auch reichlich Information.
=
Ein Anfang wäre auch, in der Hilfe (zu XP, hier als Beispiel) mal Verwenden von Batchdateien einzugeben und etwas zu lesen.
ganz allgemein: Wie wäre es denn, wenn du dich mal mit der Suchfunktion dieses Forums vertraut machen würdest und sie auch benutzt?
Gerade zu deinen Fragen gibt es nämlich sowohl reichlich Themen als auch reichlich Information.
=
Ein Anfang wäre auch, in der Hilfe (zu XP, hier als Beispiel) mal Verwenden von Batchdateien einzugeben und etwas zu lesen.
Zitat von @Willers:
Ich habe ja auch nicht Dich gefragt und deswegen verstehe ich nicht
warum Du mir jetzt hier so von der Seite kommst ?
Finde ich schon etwas daneben muss ich sagen
Ich habe ja auch nicht Dich gefragt und deswegen verstehe ich nicht
warum Du mir jetzt hier so von der Seite kommst ?
Finde ich schon etwas daneben muss ich sagen
Ich habe dir lediglich einen Hinweis gegeben. Daneben sind nur deine Antwort und die Missachtung der Regeln.
Regel Nr. 2: Beiträge und Kommentare
- Nutzt vor dem Erstellen neuer Beiträge die Suchen-Funktion und die "Häufige Fragen".
Aber so ist das. Nichts in der Birne, dafür eine umso größere Klappe.
Moin Willers,
um mal die Wogen etwas zu glätten, bis pieh-ejdsch antwortet...
greypeter reagierte so angefasst, weil diese Frage (mit genau der beschrebenen Lösungsstrategie) wirklich schon mehrfach in diesem Forum durchgekaspert wurde.
Beispielswiese mit der Forumssuche nach "älteste Sicherung löschen" findest Du mehrere fast identische Beiträge.
Und der zweite Punkt ist eben der, dass sogar wenn Dir die in der einen FOR/F-Zeile genannten Befehle vollständig unbekannt wären und Du sie mit FOR/? und DIR/? am CMD-Prompt nachschlagen müsstest....
--> dann hätte genau dieses Vorgehen eine Nachfrage überflüssig gemacht.
Aber was solls... in ein paar Stunden beginnt das Wochenende... bitte bereitet Euch mental lieber darauf vor.
Grüße
Biber
um mal die Wogen etwas zu glätten, bis pieh-ejdsch antwortet...
greypeter reagierte so angefasst, weil diese Frage (mit genau der beschrebenen Lösungsstrategie) wirklich schon mehrfach in diesem Forum durchgekaspert wurde.
Beispielswiese mit der Forumssuche nach "älteste Sicherung löschen" findest Du mehrere fast identische Beiträge.
Und der zweite Punkt ist eben der, dass sogar wenn Dir die in der einen FOR/F-Zeile genannten Befehle vollständig unbekannt wären und Du sie mit FOR/? und DIR/? am CMD-Prompt nachschlagen müsstest....
--> dann hätte genau dieses Vorgehen eine Nachfrage überflüssig gemacht.
Aber was solls... in ein paar Stunden beginnt das Wochenende... bitte bereitet Euch mental lieber darauf vor.
Grüße
Biber
Hi,
[OT]
suche nach
Batch - Alte Ornder löschen
da ist sogar die gleiche Art Forschleife aufgeführt.....
es kommt also drauf an wie und nach was man sucht
vllt wurde nur nicht die richtige Begriffsvariante in die Suche eingegeben
[/OT]
Dein Befehl funktioniert aber nur deshalb weil Du deinen SicherungsOrdner mit Datum benennst.
daher existiert Maximal nur ein Ordner pro Tag.
zu der Erläuterung der Schleife:
Eine For-Schleife ist in mehrere Segmente aufgeteilt, wobei jedes Segment eine Bestimmte Aufgabe in der For-Schleife zu erledigen hat.
dick geschriebenes kann in die Schleife eingesetzt werden
FOR WAS und-WORAUS %ErsteAuzugebendeForVariable IN ( MIT-WELCHEM-OBJEKT ) DO BEFEHL mit %ForVariable
WAS - Was soll die ForSchleife aus MIT-WELCHEM-OBJEKT ausgeben zB. /F
WAS und-WORAUS - Was soll die ForSchleife aus dem Angegebenen Ort oder den Angegebenen Bereichen aus MIT-WELCHEM-OBJEKT ausgeben zB. /f "skip=4 tokens=*"
%ErsteAuzugebendeForVariable - Als erste auszugebende ForVariable dieser ForSchleife soll diese Variable so gekennezeichnet werden
MIT-WELCHEM-OBJEKT - wird auch als For-Gruppe bezeichnet welche je nach Angabe des WAS/ WAS und-WOMIT nacheinander als %ForVariable ausgegeben oder Zeilenweise abgearbeitet und als %ForVariable ausgegeben wird.
/F - ist eine Anweisung an die For-Schleife: Gib mir die möglichkeit die Auswertung
zu Unterteilen bzw die Gruppe anders zu Behandeln: die mit Apostroh Umschlossene Gruppe wird als Befehl angesehen und diese Befehlsausgabe wird Zeilenweise Abgearbeitet.
skip=4 - gib mir erst nach der 4ten Zeile der Gruppe die Ausgabe als entsprechende Variable aus
tokens=* - gib mir aus der Zeile (die aus einem zusätzlich angegebenen delims als TeileTrennzeichen zwischen - oder ohne delims die zwischen Leerzeichen Unterteilten Teile) auch noch die angegebenen Numerischen Teile ohne die Trennzeichen aus und/oder bei Sternchen alle nachfolgenden Teile ohne die Trennzeichen zu entfernen als ein Teil aus. Also gib mir die ganze Zeile.
Gruß Phil
[OT]
suche nach
5 Tage alte sicherungen löschen
bringt kein Verwertbares ergebnis für die Fragealte sicherungen löschen
bringt ua diesen BeitragBatch - Alte Ornder löschen
da ist sogar die gleiche Art Forschleife aufgeführt.....
es kommt also drauf an wie und nach was man sucht
vllt wurde nur nicht die richtige Begriffsvariante in die Suche eingegeben
[/OT]
Dein Befehl funktioniert aber nur deshalb weil Du deinen SicherungsOrdner mit Datum benennst.
daher existiert Maximal nur ein Ordner pro Tag.
zu der Erläuterung der Schleife:
Eine For-Schleife ist in mehrere Segmente aufgeteilt, wobei jedes Segment eine Bestimmte Aufgabe in der For-Schleife zu erledigen hat.
dick geschriebenes kann in die Schleife eingesetzt werden
FOR WAS und-WORAUS %ErsteAuzugebendeForVariable IN ( MIT-WELCHEM-OBJEKT ) DO BEFEHL mit %ForVariable
WAS - Was soll die ForSchleife aus MIT-WELCHEM-OBJEKT ausgeben zB. /F
WAS und-WORAUS - Was soll die ForSchleife aus dem Angegebenen Ort oder den Angegebenen Bereichen aus MIT-WELCHEM-OBJEKT ausgeben zB. /f "skip=4 tokens=*"
%ErsteAuzugebendeForVariable - Als erste auszugebende ForVariable dieser ForSchleife soll diese Variable so gekennezeichnet werden
MIT-WELCHEM-OBJEKT - wird auch als For-Gruppe bezeichnet welche je nach Angabe des WAS/ WAS und-WOMIT nacheinander als %ForVariable ausgegeben oder Zeilenweise abgearbeitet und als %ForVariable ausgegeben wird.
for /f "skip=4 tokens=*" %%i in ('dir /a:d /b /o:-d /t:c "\\Server\Backup\"') do rd /s /q "%%i"
/F - ist eine Anweisung an die For-Schleife: Gib mir die möglichkeit die Auswertung
zu Unterteilen bzw die Gruppe anders zu Behandeln: die mit Apostroh Umschlossene Gruppe wird als Befehl angesehen und diese Befehlsausgabe wird Zeilenweise Abgearbeitet.
skip=4 - gib mir erst nach der 4ten Zeile der Gruppe die Ausgabe als entsprechende Variable aus
tokens=* - gib mir aus der Zeile (die aus einem zusätzlich angegebenen delims als TeileTrennzeichen zwischen - oder ohne delims die zwischen Leerzeichen Unterteilten Teile) auch noch die angegebenen Numerischen Teile ohne die Trennzeichen aus und/oder bei Sternchen alle nachfolgenden Teile ohne die Trennzeichen zu entfernen als ein Teil aus. Also gib mir die ganze Zeile.
Gruß Phil