Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Warum aktualisiert Robocopy das Erstelldatum einer durch kopieren erzeugter Datei nicht?

Frage Entwicklung Batch & Shell

Mitglied: StheToolking

StheToolking (Level 1) - Jetzt verbinden

19.10.2014 um 09:26 Uhr, 1778 Aufrufe, 9 Kommentare

Guten Morgen Kollegen!

Aufgabe:
Ich möchte ein Zweigleisiges Backup-System aufbauen:
1. Einen "Ringpuffer". Hierbei werden Dateien vom Server auf dem Server vollständig und täglich kopiert, um z.B. änderungen in den Dateien reproduzieren zu können...
2. Ein inkrementelles "Net-Backup" auf einem externen Netzwerkteilnehmer.

Problem:
Das Problem bereitete mir der Ringpuffer:
Um alles was älter als 5 Tage tage ist per delage löschen zu können, muss ich beim kopiervorgand das Erstelldatum (createdate) auf das aktuelle (also der Zeitstempen an welchem das Kopieren stattfindet) stzen lassen.
Mit XCOPY klappt das super.
Mit ROBOCOPY nicht.
Warum?
Ich habe mit den untreschiedlichesten Parapetersätzen experimentiert (/COPY:D, etc..) egal was ich einstelle: ROBOCOPY schreibt das Erstelldatum der Quelle ins Ziel...
Das ist mir unbegreiflich.
Hat jemand fierzu eine Idee?
Es moss doch möglich sein ROBOCOPY hier das richtige verhalten beizubringen...
Ich würde gerne alleine schon wegen der protokollfunktion mit ROBOCOPY arbeiten...
Danke für eure Hilfe!


Script mit ROBOCOPY:

FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%c%%d%%b%%a%
for /f "delims=: tokens=1" %%i in ("%time%") do Set "Stunden=%%~i"
for /f "delims=: tokens=2" %%i in ("%time%") do Set "Minuten=%%~i"

REM ----------------------------------------------------
REM RINGPUFFER
REM ----------------------------------------------------

REM robocopy D:\copyflag\ E:\Backup\Ring\%cdate%\copyflag\ /MIR
REM robocopy D:\CAD\ E:\Backup\Ring\%cdate%\CAD\ /E /COPY:D /V /NP /LOG+:"E:\Backup\Ring\%cdate%\cad.log" /R:10 /W:30
REM robocopy D:\Sonstiges\ E:\Backup\Ring\%cdate%\Sonstiges\ /E /COPY:D /V /NP /LOG+:"E:\Backup\Ring\%cdate%\cad.log" /R:10 /W:30
REM robocopy D:\Dokumente\ E:\Backup\Ring\%cdate%\Dokumente\ /E /COPY:D /V /NP /LOG+:"E:\Backup\Ring\%cdate%\dokumente.log" /R:10 /W:30

REM ----------------------------------------------------
REM Inkrementell auf \\WS-MARQU0712
REM ----------------------------------------------------

REM robocopy D:\CAD\ \\WS-MARQU0712\Backup\Backup\CAD\ /E
REM robocopy D:\Sonstiges\ \\WS-MARQU0712\Backup\Backup\Sonstiges\ /E
REM robocopy D:\Dokumente\ \\WS-MARQU0712\Backup\Backup\Dokumente\ /E


Script mit XCOPY:
*
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%c%%d%%b%%a%
for /f "delims=: tokens=1" %%i in ("%time%") do Set "Stunden=%%~i"
for /f "delims=: tokens=2" %%i in ("%time%") do Set "Minuten=%%~i"

REM ----------------------------------------------------
REM RINGPUFFER VIA XCOPY
REM ----------------------------------------------------

xcopy D:\CAD\*.* E:\Backup\Ring\%cdate%\CAD\ /E /C /Y
xcopy D:\Sonstiges\*.* E:\Backup\Ring\%cdate%\Sonstiges\ /E /C /Y
xcopy D:\Dokumente\*.* E:\Backup\Ring\%cdate%\Dokumente\ /E /C /Y

REM ----------------------------------------------------
REM Inkrementell auf \\WS-MARQU0712 VIA ROBOCOPY
REM ----------------------------------------------------

REM robocopy D:\CAD\ \\WS-MARQU0712\Backup\Backup\CAD\ /E
REM robocopy D:\Sonstiges\ \\WS-MARQU0712\Backup\Backup\Sonstiges\ /E
REM robocopy D:\Dokumente\ \\WS-MARQU0712\Backup\Backup\Dokumente\ /E

*
Mitglied: DerSchorsch
19.10.2014 um 10:27 Uhr
Hallo,

Ich verstehe nicht ganz, wozu du ein verändertes Erstelldatum für die Löschaktion überhaupt benötigst? Laut deinem Skript machst du jedesmal eine vollständige Kopie in einen neuen Ordner. Du kannst doch einfach diese Ordner nach deren Alter aufräumen.

Was ich noch anmerken möchte: von dem inkrementellen Teil bin ich nicht so überzeugt. Du sammelst dort zwar alle Dateien, aber alte werden nicht gelöscht. Damit vermüllen die Backupornder und eine saubere Wiederherstellung wird schwieriger. Da hilft /MIR.
Zudem würde ich auch außerhalb des Servers mehrere Backupstände bevorzugen.
Man könnte z.B. einmal pro Woche einen komplettes Backup ziehen und unter der Woche nur die veränderten Dateien. Geht leicht mit dem Archive-Attribut, Robocopy-Optionen /A und /M.
z.B.
wöchentlich:
robocopy D:\CAD\ \\WS-MARQU0712\Backup\%cdate%-voll\CAD\ /E
täglich differentiell:
robocopy D:\CAD\ \\WS-MARQU0712\Backup\%cdate%-diff\CAD\ /E /A
oder inkrementell:
robocopy D:\CAD\ \\WS-MARQU0712\Backup\%cdate%-inkr\CAD\ /E /M

Zur Wiederherstellung das letzte Vollbackup zurückspielen und entweder den letzten Diff-Ordner oder alle Inkr-Ordner seitdem. Aufräumen kannst du auch hier nach dem Datum des Backupordners.

Gruß
Bitte warten ..
Mitglied: StheToolking
19.10.2014 um 11:14 Uhr
Hallo Schorsch,

danke für deine schnelle Antwort.
Alle Deine Anmerkungen sind richtig.
Die von mir desetzten Parameter sind alle so gewollt.

Ringpuffer:
Das cleanup im Ringpuffer übernimmt eine zweite batch mit delage:
"DelAge32 E:\Backup\Ring\*.* 5 /created /includeRO /recurse /rd"
Delage entscheidet anhand des Erstelldatums - deswegen soll diese ja durch ROBOCOPY aktualisiert werden.
Der Sinn des Vollständigen Ringpuffers ist nicht nur file-backup, sondern auch Benutzerfehler abzupuffern.
Wird z.B. eine Datei aus versehen überschrieben, liegt die vorherige version immer nuch im Ringpuffer.
Der Ringpuffer hat sich schon oft als wirksam erwiesen...

Inkrementell:
Der "Datenmüll" des Parameters /E ist gewollt.
/MIR gibt löschweitergaben ans Ziel - das ist nicht gewollt.
Das Inkrementelle Backup wird Quartalsweise gepackt und ausgelegert - Dann beginnt das Spiel von neuem...

Wie gesagt: XCOPY liefert ein Workaround - ich verstehe nur nicht warum ROBOCOPY nicht in der lage ist bei der Zieldatei das Erstelldatum des Kopiervorgangs zu setzen...
Gibt es vielleich einen Parameter den ich fasch anwenden?
/COPY:D und /COPY:DAT liefern beim Ringpuffer (also beim Vollbackup) keine unterschiedlichen ergebnisse: Immer wird Erstell- und Änderungsdatum der Quelldatei übernommen...

Danke & Gruß.
Bitte warten ..
Mitglied: GuentherH
19.10.2014 um 11:29 Uhr
/COPY:D und /COPY:DAT liefern beim Ringpuffer (also beim Vollbackup) keine unterschiedlichen ergebnisse: Immer wird Erstell- und Änderungsdatum der > Quelldatei übernommen

Na, ich würde mich gewaltig beschweren, wenn sich bei diesem Befehl die Dateiattribute verändert würden.

Versuche es einmal mit der Option /nocopy

LG Günther
Bitte warten ..
Mitglied: StheToolking
19.10.2014 um 12:47 Uhr
Hi Günther,

auch Dir Danke für dein schnelles Feedback!
/NOCOPY bringt bei Vollbackup leider nichts.
Hatte ich auch schon probiert...
/NOCOPY bring nur bei inkrementeller Nutzung und ggf. in Zusammenhang mit /PURGE Sinn. ;-(

Zu deiner Anmerkung:
Wenn in Windows eine Datei kopiert wird, so wird das Änderungsdatum bei der Zieldatei beibehalten und das Erstelldatum bei der Zieldatei neu gesetzt.
Ich denke das ist durchaus sinnvoll: Die Koipe der Datei wir ja auch "neu erstellt"
Der Explorer und die Konsolenprogramme COPY & XCOPY verhalten sich dabei immer gleich: Erstelldatum wird angepasst, Änderungsdatum nicht.
Nur ROBOCOPY verhält sich anders: Beide Datumsstempel werden aus der Quelldatei übernommen. Warum?

Ich kann nich nachvollziehen warum das nich zumindes eine parametrierbare Option ist (Oder ich bin nicht in der Lage diese zu finden)
Eigentlich möchte ich nur, das sich ROBOCOPY finsichtlich der Timestamps so verhält wie XCOPY oder der Rest von Windows

Gruß.

Steffen.
Bitte warten ..
Mitglied: rubberman
19.10.2014 um 17:30 Uhr
Hallo Zusammen.

Aus der robocopy.doc:
Note If file Data is copied, then file Timestamps are also copied.
Heißt, egal was du angibst, sobald eine Datei samt Inhalt kopiert wird, werden die Timestamps übernommen.
Hintergrund ist sicherlich die Tatsache, dass ROBOCOPY auch das Kopieren oder Ausschließen anhand des Alters einer Datei unterstützt und darum die ursprünglichen Timestamps der Dateien benötigt, um dies feststellen zu können.

Grüße
rubberman
Bitte warten ..
Mitglied: StheToolking
20.10.2014 um 05:52 Uhr
Danke, Rubberman.

Diese Doku hatte ich nicht gefunden ;-(
Heißt: Ich habe keine Chance ROBOCOPY auf meine Bedürfnisse hin zu trimmen.
Wenn das stimmt sehe ich zwei Möglichkeiten:

1. Die Timestamps nach dem Kopiervorgang manuel (per Batch nicht im Kopiervorgang selbst) neu zu setzen.
2. Mit XCOPY zu arbeiten.

Hat jemand noch "elegantere" Ideen?

Danke und Gruß.

Steffen.
Bitte warten ..
Mitglied: rubberman
20.10.2014, aktualisiert um 18:47 Uhr
Hallo Steffen,

ich kapier's nicht. Mache ein neues Vollbackup, lösche das vor 3 Tagen erstellte Backup und gut

zu 1. Es gibt Tools im Netz (suche nach "Touch for Windows" oder ähnlich) die das können. Zur Not kann ich dir auch mein eigenes Tool zur Verfügung stellen, falls du nichts brauchbares findest.

zu 2. Wenn dir die Daten etwas Wert sind, wirst du auf XCOPY verzichten wollen.


Grüße
rubberman (Namensvetter btw )
Bitte warten ..
Mitglied: StheToolking
20.10.2014 um 19:27 Uhr
Hi Rubbermann,

wie kann ich denn das vor x-tagen erstellte Backup ohne delage automatisiert loeschen?

Gruss.

Steffen.
Bitte warten ..
Mitglied: rubberman
20.10.2014, aktualisiert 21.10.2014
Hallo Steffen,

FORFILES sollte das regeln können. Ist (im Gegensatz zu DelAge) auch bereits an Bord.
forfiles /p "x:\wo deine backups liegen" /d -3 /c "cmd /c if /i @isdir==true ECHO rd /s /q @path"
Das ECHO sorgt dafür, dass die Kommandozeilen nur ausgegeben werden (nichts wird tatsächlich gelöscht). Wenn die richtigen Verzeichnisse gefunden werden, entferne es.
Ich glaube mich zu erinnern, dass keine Netzwerkpfade unterstützt werden. In dem Fall mappst du dir eben ein Netzlaufwerk mit NET USE ...

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst EXE Datei per GPO auf Desktop für alle User kopieren (8)

Frage von haiflosse zum Thema Windows Server ...

Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(4)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (19)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...