Verwenden von Robocopy für die Dateirotation

4

Ich suche nach einer Möglichkeit, Robocopy zum Drehen von Protokolldateien zu verwenden. Derzeit habe ich eine Batch-Datei, die Robocopy verwendet, um Dateien zu kopieren und die Ergebnisse in einem angegebenen Ordner zu protokollieren. Was ich tun möchte, ist, 7 Tage zu behalten und am 8. Tag einen abzugeben. Ist dies möglich oder sollte ich eine andere Batch-Datei erstellen, um dies zu tun und sie von der ursprünglichen Batch-Datei aufzurufen?

Wduncan
quelle

Antworten:

3

Wenn Sie eine Stapeldatei verwenden, können ältere Dateien im Protokolldateiverzeichnis gelöscht werden.

Hier sind zwei Referenzen:

ForFiles - Löschen alter Dateien usw.
Beschreibt die Verwendung des Dienstprogramms forfiles zum Löschen älterer Dateien.

Batch-Datei, um Dateien zu löschen, die älter als ein angegebenes Datum sind
Ist eine Stapelüberlauf-Frage, die Ihre Frage hier beantwortet.

harrymc
quelle
Danke harrymc .... Ich habe mich für die Verwendung der Referenzdatei entschieden. Es sieht so aus, als würde es gut funktionieren.
Wduncan
1
+1, ich habe es vor nicht allzu langer Zeit herausgefunden und liebe es! Ich benutze es überall in meinen Batch-Dateien. So benutze ich es: forfiles / p "E: \ Office Backups \ Ein Ordner" / d -6 / c "CMD / C del @FILE"
Hondalex
1

Sie können das folgende Skript verwenden:

set checklogcmd=robocopy /s /mov /create /minage:30 /r:0 /w:0
echo ### Checking Logfiles...
%checklogcmd% E:\LOGFILES E:\GARBAGE
rd E:\Garbage /s /q
cufre
quelle
1

Was ist mit dem Synchronisieren aller Dateien, die älter als 30 Tage sind, mit einem leeren Ordner? Ich habe dies mit dem Löschbefehl verwendet, um mit einigem Erfolg zu löschen.

In diesem Beispiel werden nur alle Elemente aus dem Zielordner gelöscht. Mit ein wenig Bearbeitung würde es basierend auf einem Datum erledigen.

robocopy.exe "B: \ tb1 \ St-Cloud \ EmptyFolder" "B: \ St-Cloud \ Daily \ Fri" / E / PURGE

Jonathan H
quelle
0

Sie könnten so etwas tun. Etwas hässlich, aber es funktioniert. Kein wirklicher Grund, Robocopy zu verwenden, im Gegensatz zu einer reinen Kopie. Dies setzt natürlich voraus, dass sich Ihre Protokolldatei an einem normalen Ort befindet.

del logfile.7

robocopy logfile.6 logfile.7

robocopy logfile.5 logfile.6

....

robocopy logfile logfile.1

del logfile

Dentrasi
quelle