mc-doubleyou
Goto Top

Robocopy: PURGE statt löschen umbenennen

Hallo zusammen,

ich arbeite schon länger mit Robocopy für die Archivierung vermisste ich aber leider einen Schalter und wollte mal Fragen ob sich dieser nicht evtl. finden bzw. erstellen lässt.

Bisher nutze ich /MIR und erzeuge immer einen neuen Ordner (das ist zwar sehr sicher aber dauert teilweise ewig und der Speichplatz steigt auch rapid)
Zukünftig möchte ich gerne /E nutzen und nur das Logfile immer neu erzeugen.
Allerdings würde ich gerne im Original gelöschte Objekte besonders markieren, zB: _%name%
Ich müsste also zuerst /PURGE /NOCOPY ausführen und die Files auf die es angewendet würde umbennen, leider ist mir nicht klar wie.
Eine Versionshistory wäre vermutlich auch hilfreich, da das Backup aber nur nach einem Crash Verwendung findet und am Fileserver Schattenkopien aktiv sind kann man darüber hinwegsehen.

Danke!

LG mcdy

Content-Key: 259829

Url: https://administrator.de/contentid/259829

Printed on: April 19, 2024 at 17:04 o'clock

Mitglied: 114757
114757 Jan 14, 2015 updated at 17:27:12 (UTC)
Goto Top
Moin,
das kann das out-of-the-box
http://www.2brightsparks.com/syncback/sbpro.html da kannst du auch bestimmen ob die gelöschten Dateien in ein anderes Verzeichnis kopiert werden sollen, usw und sofort. Kann ich wärmstens empfehlen.

Mit Robocopy müsstest du da scripten z.B. die Dateinamen und Ordner mit einer FOR-Schleife aus diesem Befehl auslesen
robocopy C:\quelle d:\ziel * /PURGE /NOCOPY /L /NJH /NJS

Aber ich würde hier eher zu rsync oder eher http://www.rsnapshot.org/ greifen das auf rsync basiert.
http://www.mikerubel.org/computers/rsync_snapshots/
Das arbeitet mit Hardlinks und Snapshots und spart somit erheblich Speicherplatz !

D.h. du hast für jedes Backup einen eigenen Ordner in dem der für dieses Backup aktuellen Datenbestand enthalten ist, aber nur die Dateien Speicherplatz belegen die sich tatsächlich verändert haben, alle anderen Dateien sind Hardlinks.

Gruß jodel32
Member: Endoro
Endoro Jan 15, 2015 at 09:42:34 (UTC)
Goto Top
Hey,
wenn du die Dateien im Zielverzeichnis umbenennst, werden die doch trotzdem gelöscht. Die müssten aus dem Zielverzeichnis verschoben werden.
Gruss, Endoro
Member: mc-doubleyou
mc-doubleyou Jan 15, 2015 at 17:41:37 (UTC)
Goto Top
Hallo ihr zwei,

@114757 danke für den Ansatz ich werde mir rsync ansehen, ist scheinbar auch unter Windows lauffähig
@Endoro wenn ich den Befehl /PURGE nur zur erkennung nutze verschwindet nichts. Sonst hast du aber recht das /E / PURGE folgendem Befehl entspricht: /MIR

@all vielleicht findet oder hat jemand ein Script für die nur Erkennung und Umbenennung?

Danke!

LG mcdy
Mitglied: 114757
114757 Jan 15, 2015 updated at 17:57:06 (UTC)
Goto Top
Zitat von @mc-doubleyou:
@114757 danke für den Ansatz ich werde mir rsync ansehen, ist scheinbar auch unter Windows lauffähig
Hard-Link-Backups für Windows
Member: Endoro
Endoro Jan 15, 2015 at 19:07:45 (UTC)
Goto Top
Ja, auch das geht:
for /f "tokens=3*" %%a in ('robocopy sourcefolder targetfolder /purge /nocopy /l ^|find "*EXTRA"') do ren "tatgetfolder\%%~b" "_%%~b"  
Weil die Ausgabe und Anzahl der Tokens von robocopy von der Lokalisierung abhängt, muss das ggf. angepasst werden.
Gruß, Endoro
Member: mc-doubleyou
mc-doubleyou Jan 16, 2015 at 10:36:55 (UTC)
Goto Top
Hallo Endoro,

ich muss es erst testen aber es scheint meinen Wünschen sehr nahe zu kommen.

Erster Durchlauf Umbenennung mit deinem Script
Zeiter Durchlauf kopieren mit Paramter /E

oder zuerst kopieren dann umbennen?

Wenn nun beides mit Userrechten alleine klappt hab ich die Lösung.

Danke!

LG mcdy
Member: mc-doubleyou
mc-doubleyou Feb 09, 2015 updated at 13:37:25 (UTC)
Goto Top
Hallo Endoro,

hatte endlich mal kurz Zeit mir die Lösung anzusehen.
Mittlerweile habe ich mich für das Postfix .del entschieden, allerdings wird dieses auch angehängt selbst wenn schon vorhanden.
Darum suchte ich nach einer Möglichkeit nur umzubennen wenn nicht schon .del heißt.

for /f "tokens=3*" %%a in ('robocopy sourcefolder targetfolder /purge /nocopy /l ^|find "*EXTRA"') do if not %%~xb==.del ren "tatgetfolder\%%~b" "_%%~b"  

LG mcdy
Member: mc-doubleyou
mc-doubleyou Feb 09, 2015 at 17:05:17 (UTC)
Goto Top
Hallo zusammen,

sofern ich mich nicht irre werden aber Ordner die in der Quelle komplett gelöscht wurden von dem Skript ignoriert.
Hast du eine Idee @Endoro?

Danke!

LG und schönen Feierabend mcdy