Batch für robocopy backup
Hi,
ich hab vor ein Laufwerk alle 14 tage zu sichern, bzw. zu sichern und gleichzeitig die quelle zu entleeren.
Beispielsweise:
alle dateien und verzeichnisse aus Laufwerk X die älter sind als 14 tage vom aktuellen datum her sollen nach laufwerk Z verschoben werden.
Ich hab mir mal robocopy angeschaut was zumindestens eine datums prüfung hat und so wie ich das verstanden habe eine 1.1 duplizierung der pfade ermöglichst samt inhalt.
Da ich aber aus den parametern nicht wirklich schlau werde wäre meine frage welche parameter brauch ich von Robocopy für solch einen vorgang und kann ich es zum verschieben der dateien und ordner bewegen oder wie macht man das am besten?
vielleicht würde es auch reichen wenn robocopy die ordnerstruktur erzeugt und nur die dateien verschiebt, dann könnte man ja auch nachträglich leere ordner suchen lassen und entfernen.
für die Datumsprüfung müßte doch /minage: yyyymmdd das richtige sein, das ignoriert alle dateien deren letze bearbeitung jünger ist als das datum.
Nachtrag:
ich hab mal etwas rumprobiert.
robocopy /E /MOVE /COPYALL R:5 /W:2 /MINAGE:20071125 P:\ X:\ /MIR
müßte doch das gewünschte machen oder? Kann man eigentlich die orginal erstellungsdaten beim kopieren, bzw. verschieben irgendwie erhalten und zwar der Ordner, die dateien werden ja korrekt über copyall gesetzt?
Wenn das Script auf dem Backuplaufwerk liegt und von da gestartet wird, gibt es da eine simple möglichkeit den entsprechenden Laufwerksbuchstaben zu finden ohne erst alle auszuprobieren?
ich hab vor ein Laufwerk alle 14 tage zu sichern, bzw. zu sichern und gleichzeitig die quelle zu entleeren.
Beispielsweise:
alle dateien und verzeichnisse aus Laufwerk X die älter sind als 14 tage vom aktuellen datum her sollen nach laufwerk Z verschoben werden.
Ich hab mir mal robocopy angeschaut was zumindestens eine datums prüfung hat und so wie ich das verstanden habe eine 1.1 duplizierung der pfade ermöglichst samt inhalt.
Da ich aber aus den parametern nicht wirklich schlau werde wäre meine frage welche parameter brauch ich von Robocopy für solch einen vorgang und kann ich es zum verschieben der dateien und ordner bewegen oder wie macht man das am besten?
vielleicht würde es auch reichen wenn robocopy die ordnerstruktur erzeugt und nur die dateien verschiebt, dann könnte man ja auch nachträglich leere ordner suchen lassen und entfernen.
für die Datumsprüfung müßte doch /minage: yyyymmdd das richtige sein, das ignoriert alle dateien deren letze bearbeitung jünger ist als das datum.
Nachtrag:
ich hab mal etwas rumprobiert.
robocopy /E /MOVE /COPYALL R:5 /W:2 /MINAGE:20071125 P:\ X:\ /MIR
müßte doch das gewünschte machen oder? Kann man eigentlich die orginal erstellungsdaten beim kopieren, bzw. verschieben irgendwie erhalten und zwar der Ordner, die dateien werden ja korrekt über copyall gesetzt?
Wenn das Script auf dem Backuplaufwerk liegt und von da gestartet wird, gibt es da eine simple möglichkeit den entsprechenden Laufwerksbuchstaben zu finden ohne erst alle auszuprobieren?
Please also mark the comments that contributed to the solution of the article
Content-Key: 75163
Url: https://administrator.de/contentid/75163
Printed on: April 19, 2024 at 20:04 o'clock
9 Comments
Latest comment
Hallo ooAlbert
Das geht so nicht, und zwar aus folgenden Gründen:
Willst du denn die Daten im Zielverzeichnis jeweils überschreiben?
robocopy /E /MOVE /COPYALL R:5 /W:2 /MINAGE:20071125 P:\ X:\ /MIR
Das geht so nicht, und zwar aus folgenden Gründen:
- Wenn du /MOVE verwendest, kannst du nicht gleichzeitig /e verwenden. /MOVE verschiebt alle Dateien und Ordner des angegebenen Pfades
- /MIR kannst du ebenfalls nicht mit /MOVE kombinieren. Mit /MIR werden zwei Verzeichnisse gespiegelt.
Willst du denn die Daten im Zielverzeichnis jeweils überschreiben?
Achtung!
Es gibt einen Unterschied zwischen /MOV und /MOVE. /MOV verschiebt nur die Dateien, /MOVE verschiebt auch die Subdirectories. Hier der Auszug aus der Robocopy-Hilfe:
Ich hab den Parameter /MOVE schon viel gebraucht und bei mir hat es immer geklappt. Sorry, dass ich frage, aber bist du dir sicher, dass du den Parameter richtig geschrieben hast?
Es gibt einen Unterschied zwischen /MOV und /MOVE. /MOV verschiebt nur die Dateien, /MOVE verschiebt auch die Subdirectories. Hier der Auszug aus der Robocopy-Hilfe:
/MOV :: MOVe files (delete from source after copying).
/MOVE :: MOVE files AND dirs (delete from source after copying).
Ich hab den Parameter /MOVE schon viel gebraucht und bei mir hat es immer geklappt. Sorry, dass ich frage, aber bist du dir sicher, dass du den Parameter richtig geschrieben hast?
Ich hab deinen Robocopy-Befehl bei mir kurz getestet (Vista Business). Ich kanns nicht glauben, aber du hast recht. Bei der alten Version von Robocopy (aus dem Windows 2000 Resource Kit) war das anders, da hats funktioniert, so wie ich wollte.
Funktioniert denn bei dir diese Robocopy-Befehlszeile? Wenn ja, ist es ja soweit gut. Oder besteht noch ein Problem?
Funktioniert denn bei dir diese Robocopy-Befehlszeile? Wenn ja, ist es ja soweit gut. Oder besteht noch ein Problem?
das einzige was mich mal interessieren würde ob man das ziellaufwerk, was sich ja ändern kann, weil es ein usb-medium ist einfacher herausfinden kann wenn das ausführbare script auf selbigen ist oder ob das duchprobieren der laufwerke mittels prüfung auf eine spezielle datei das einzige ist?
Du willst also herausfinden, wie der aktuelle Laufwerksbuchstabe der USB-Platte ist?
Ich mache es immer so, dass ich mit einer FOR-Schleife alle Laufwerke durchteste, ob eine bestimmte Datei existiert. Wenn ja, starte ich den Kopiervorgang.
Sollte gehen, du kannst einfach variable Pfadangaben verwenden. Das folgende Beispiel mit dem Befehl cd springt z.B. einen Ordner nach oben und wechselt dann in einen anderen Ordner:
Folgendes Szenario, ich bediene mich dabei bei deines Robocopy-Befehls (nicht getestet):
Das Script liegt auf X: und wird von dir per Doppelklick gestartet. Die Ziel der Sicherung wäre der Ordner X:\Backup
Ist nicht getestet, du musst es kurz ausprobieren.
cd ..\Ordner
Folgendes Szenario, ich bediene mich dabei bei deines Robocopy-Befehls (nicht getestet):
Das Script liegt auf X: und wird von dir per Doppelklick gestartet. Die Ziel der Sicherung wäre der Ordner X:\Backup
robocopy /E /MIR /MINAGE:14 /MOVE /COPYALL /R:5 /W:2 G:\test01\ \Backup /LOG+:Log.txt
Ist nicht getestet, du musst es kurz ausprobieren.