Große Dateien archivieren (Backupdateien mit cmd und robocopy)
Hi,
kurz: wie emuliere ich unter Windows (ich glaube, mit robocopy)?
Ich möchte große Backupdateien auf einen remote Server kopieren, dann lokal aber nur die neuesten paar behalten. Es soll sichergestellt sein, dass nur Dateien gelöscht werden, die auch wirklich fehlerfrei remote kopiert wurden. Es gibt aktuell eine Aufgabenplanung für ein cmd, was per robocopy (unter anderem) diese Backupdateien auf den remote server kopiert. Eine zweite Logik entfernt alte lokale Backupdateien, und zwar mit "move", damit lokal nur die gelöscht werden können, die auch wirklich remote existieren (bzw. hier: damit die zu löschenden Dateien auch wirklich remote existieren).
Hintergrund:
es gibt Verzeichnisse mit Backupdateien, die auf einem remote Server archiviert werden. Aktuell ist da ein Robocopy gefolgt von sowas:
was den Nachteil hat, dass die betreffenden alten Dateien doppelt kopiert werden (das Ziel existiert, move überschreibt es nochmal). Da brauch ich dann ja kein robocopy...
"del" statt "move" geht nicht, weil bei Kopierfehlern gelöscht würde, da kann man natürlich Bedingungen einbauen, aber Backup soll ja einfach und einfach zu prüfen sein.
Das ohnehin vorher verwendete robocopy kennt die Option "/MOV":
aber das funktioniert hier nicht. Augenscheinlich "überspringt" robocopy die schon existierenden Dateien "komplett", also kopiert sich nicht (nochmal) und löscht sie aber auch nicht
.
Hinweis: Nur zur Info, robocopy bekommt noch mehr Optionen, die an dem Verhalten aber nichts ändern, nämlich:
Dann gibt es die Option "/Z", die ich eigentlich setzen möchte, da es manchmal (aber sehr selten) Abbrüche gibt. Wenn ich /Z setze, bricht die Geschwindigkeit aber auf irgendwas um die 2 MB/sec ein. Das hab ich drei Nächte mit und drei ohne probiert, es liegt wirklich an dem /Z (und nicht an der Leitung oder so). Ist es dran, war es in allen 3 Fällen langsam, ist es nicht dran, in alle drei Fällen viiiiel schneller.
Eigentlich würde ich robocopy einmal über alles laufen lassen (das passiert über eine Aufgabenplanung regelmässig) und dann z.B. einmal am Tag oder Woche die älteren entfernen. Ein paar aktuelle möchte ich lokal aber behalten, damit man nicht für jede Kleinigkeit remote gucken muss oder das Archiv gerade dann abbrennt, wenn die Bandsicherung nicht geklappt hat oder so. Daher möchte ich alle kopieren, aber lokal nur die neuesten 3 oder 5 aufheben. Dies nur für den Fall, dass es eine einfachere Lösung (vielleicht ohne robocopy) gibt, um das zu erreichen.
Ich verstehe die beiden Verhalten bei /MOV und /Z nicht. Kann mich bitte jemand erleuchten![face-smile face-smile](/images/icons/fa/light/face-smile.svg)
Schönes Wochenende!
kurz: wie emuliere ich
rsync --remove-source-files -a $quelle/ $ziel/
Ich möchte große Backupdateien auf einen remote Server kopieren, dann lokal aber nur die neuesten paar behalten. Es soll sichergestellt sein, dass nur Dateien gelöscht werden, die auch wirklich fehlerfrei remote kopiert wurden. Es gibt aktuell eine Aufgabenplanung für ein cmd, was per robocopy (unter anderem) diese Backupdateien auf den remote server kopiert. Eine zweite Logik entfernt alte lokale Backupdateien, und zwar mit "move", damit lokal nur die gelöscht werden können, die auch wirklich remote existieren (bzw. hier: damit die zu löschenden Dateien auch wirklich remote existieren).
Hintergrund:
es gibt Verzeichnisse mit Backupdateien, die auf einem remote Server archiviert werden. Aktuell ist da ein Robocopy gefolgt von sowas:
for /f "skip=6 delims=" %%F in ('dir %quelle%\*.zip /B /O-D /A-D') do echo move /Y %quelle%\%%F %ziel% >> %log% 2>&1
"del" statt "move" geht nicht, weil bei Kopierfehlern gelöscht würde, da kann man natürlich Bedingungen einbauen, aber Backup soll ja einfach und einfach zu prüfen sein.
Das ohnehin vorher verwendete robocopy kennt die Option "/MOV":
for /f "skip=6 delims=" %%F in ('dir %quelle%\*.zip /B /O-D /A-D') do echo robocopy /MOV %quelle% %ziel% %%F >> %log% 2>&1
Hinweis: Nur zur Info, robocopy bekommt noch mehr Optionen, die an dem Verhalten aber nichts ändern, nämlich:
/z /j /r:3 /w:30 /xx /np /njh
Dann gibt es die Option "/Z", die ich eigentlich setzen möchte, da es manchmal (aber sehr selten) Abbrüche gibt. Wenn ich /Z setze, bricht die Geschwindigkeit aber auf irgendwas um die 2 MB/sec ein. Das hab ich drei Nächte mit und drei ohne probiert, es liegt wirklich an dem /Z (und nicht an der Leitung oder so). Ist es dran, war es in allen 3 Fällen langsam, ist es nicht dran, in alle drei Fällen viiiiel schneller.
Eigentlich würde ich robocopy einmal über alles laufen lassen (das passiert über eine Aufgabenplanung regelmässig) und dann z.B. einmal am Tag oder Woche die älteren entfernen. Ein paar aktuelle möchte ich lokal aber behalten, damit man nicht für jede Kleinigkeit remote gucken muss oder das Archiv gerade dann abbrennt, wenn die Bandsicherung nicht geklappt hat oder so. Daher möchte ich alle kopieren, aber lokal nur die neuesten 3 oder 5 aufheben. Dies nur für den Fall, dass es eine einfachere Lösung (vielleicht ohne robocopy) gibt, um das zu erreichen.
Ich verstehe die beiden Verhalten bei /MOV und /Z nicht. Kann mich bitte jemand erleuchten
Schönes Wochenende!
Please also mark the comments that contributed to the solution of the article
Content-ID: 5934804603
Url: https://administrator.de/contentid/5934804603
Printed on: September 1, 2024 at 02:09 o'clock
3 Comments
Latest comment
Hallo,
da gibt es zig Anleitungen bei google zu. PowerShell geht auch und man Objekte vergleichen. Oder mit Hashsummen feststellen, ob die Dateien alle angekommen sind.
Bei Backup fällt mir auch differentiell oder inkmremntell ein... Bei Acornis tragen die Dateien eindeutige UID im Dateinamen. Je nachdem wie die ZIP aussehen musst du ggf. darauf achten, die Backup Chain einzuhalten. Mit zu kopieren. Sonst wird es mit dem Recovery schwer. Generell reduzieren diff und inc Backups die Größe.
Alternative Backup Lokation ist auch Bestandteil vieler Backup-Software. Die bingen das also von Haus aus mit. Bei Backups zu sparen ist auch keine gute Idee.
Wie wird denn auf Band gesichert? Ggf. wäre eine geeignete Backup-Software die alle Task erfüllt sinnvoll.
mfg Crusher
da gibt es zig Anleitungen bei google zu. PowerShell geht auch und man Objekte vergleichen. Oder mit Hashsummen feststellen, ob die Dateien alle angekommen sind.
Bei Backup fällt mir auch differentiell oder inkmremntell ein... Bei Acornis tragen die Dateien eindeutige UID im Dateinamen. Je nachdem wie die ZIP aussehen musst du ggf. darauf achten, die Backup Chain einzuhalten. Mit zu kopieren. Sonst wird es mit dem Recovery schwer. Generell reduzieren diff und inc Backups die Größe.
Alternative Backup Lokation ist auch Bestandteil vieler Backup-Software. Die bingen das also von Haus aus mit. Bei Backups zu sparen ist auch keine gute Idee.
Wie wird denn auf Band gesichert? Ggf. wäre eine geeignete Backup-Software die alle Task erfüllt sinnvoll.
mfg Crusher