gelöst Täglicher Sync von A nach B mit Robocopy

Mitglied: go4java

go4java (Level 1) - Jetzt verbinden

02.02.2011, aktualisiert 18.10.2012, 12794 Aufrufe, 9 Kommentare

Hallo,
ich habe ein Win 2003 System (WHS) mit max. 2TB gespiegelten Daten (internen Platten).
Als Backup-Platte verwende ich eine externe eSATA-Platte (2TB).
Ein geplantes Batchfile (täglich 17:00 Uhr) soll alle DATEN von d:\ nach e:\ syncen (analog rsync):
robocopy.exe "%Quelle%" "%Ziel%" /MIR /COPYALL /ETA /R:0 /W:0 /LOG:logfile.log
Im Prinzip funktioniert das schon ganz gut, aber einige Dinge sollen besser laufen:
Die Logfile ist mir zu lang - wie kann man die Ausgabe ins logfile so begrenzen, dass folgende Infos weggeschrieben werden:
- kurze Statistik, wie lange dauert es, wieviel Ordner/Files sind betroffen (keine Details)
- Block PURGE: was wurde im Ziel gelöscht
- Block COPY: was wurde kopiert (nur die Folder/Files, die wirklich verändert wurden, sonst nichts)
Im Resultat also eine möglichst kleine Logfile mit allen relevanten Infos.
Vielen Dank und Gruß
Mitglied: 90776
02.02.2011 um 23:44 Uhr
hi

nur einmal ein kleiner tipp:

wenn du 1. und 2. und 3. willst,
dann benutz kein robocopy sondern schreib selber ein programm...

sorry das musste einfach raus

warum willst du alles ändern???
die log datei ist zu lang... musst du halt ein wenig scrollen

Punkt 2 und 3
steht ja gekürzt ganz unten

und alles was du willst steht ja im log, must du einfach suchen

Grüsse
Switcher
Bitte warten ..
Mitglied: 60730
03.02.2011, aktualisiert 18.10.2012
Moin,

du benutzt ja nur ein Logfile und das wird immer wieder neu geschrieben - von daher macht das "so" eigentlich keinen Sinn.

Trotzdem... ein paar Demozeilen zum spielen - jeder dir noch unbekannte Befehl kennt /?

robocopy.exe "%Quelle%" "%Ziel%" /MIR /COPYALL /ETA /R:0 /W:0 /LOG:logfile.log
  • Du schaust dir das Llogfile genauer an und stellstg fest - deine Infos sind nach einer Reihe von --- Zeichen zu finden
find /n "--" logfile.log
  • Du schaust genauer und es ist der letzte Block mit einer Zeile mit ganz vielen "---" wenn man jetzt die Zeilennummer verhackstückeln könnte, wäre ja schon der nächste Ansatz.
for /f "delims=[:]" %a in ('find /n "--" E:\test\logfile.ini') do set info=%a
  • ok jetzt hat man die Zeilenzahl - wie weiter?
more +%info% logfile.log
  • aha und nun?
  • vielleicht in ein neues anderes Logfile schreiben?
more +%info% logfile.log>neues.log - oder das logfile gleich mit Datum benamsen? - dazu gibts ein mit viel Mühe geschriebenes und nicht umsonst gelobtes Tut vom Meister Biber - Batch und Datum - empfehle ich dir an dieser Stelle (spätestens)

echo %date% %time% >>alteslog.log
more +%info% logfile.log>>alteslog.log

Ich vermute, mit den gesammelten Infos hast du schon den gröbsten Weg geschafft - wenns wo klemmt und du /? wirklich nicht weiterhelfen sollte...
Wir sind hier und freuen uns immer, wenn die Lehrschnippsel es geschafft haben einen leeren Kopf mit Wissen und Interesse zu füllen.

ich schreibe leider keine kompletten Bätche mehr - da ist der Lernerfolg meistens für Allerwertesten

Gruß
Bitte warten ..
Mitglied: Biber
03.02.2011 um 08:02 Uhr
Moin go4java,

dir ist aber bekannt, dass RoboCopy auch ein paar Parameter zum Eindampfen/Verschlanken des Logs vorgesehen hat?

Beispiel:
Hast du denn die schon mal angetestet?

Und zum Thema "Log enthält zu viele Details/ist zu lang"..
Frisst das denn Heu? Oder geht die Kapazität der 3,5"-Diskette zur Neige?

Mein Ansatz wäre bei Logdateien, doch lieber ein paar Details zuviel in Petto zu haben - was ich schnell wissen was will wie "Enthält die Logdatei die Strings "Failed" , "Denied" ,"Skipped", "Error" oder ähnliches - das greif ich doch eh mit einen "FindStr"-Befehl ab und scroll nicht mit einem Editor durch den Mist..
Deshalb lieber die "normal-ausführliche" Logdatei - und bei zu klärenden Problemen sogar die /verbose-Variante.

ich hab schon mehr Zeit verplempert mit kurzen knackigen Logdateien, bei denen im Fehlerfall der Programmierer nur vorgesehen hatte, ein höchst informatives "Fehler -Programm wird beendet" rauszuschreiben oder gar als letzte Meldung im Logfile "Programm gestartet am 03.02.2011 um 10:24..." und das wars.

Grüße
Biber
Bitte warten ..
Mitglied: go4java
03.02.2011 um 08:50 Uhr
Danke zusammen, wenn auch der Ton z.T. nicht besonders freundlich ist.
Schaue mir Eure Hinweise an. Gruß
Bitte warten ..
Mitglied: 90776
03.02.2011 um 17:44 Uhr
aber was erwartest du denn???

du müsstes diverse schleifen haben, die dir alles berechnen und filtern, also wenn du ca. 3 Tage hast um eine "perfekte" Log-Datei zu haben kannst du das ja gerne machen, aber für was????

Warum musst du wissen was gelöscht und was kopiert wurde???

und ausserdem steht ja wirklich alles im Log

gelöscht heisst *Extra Datei
kopiert ist alles was Prozent hat
and alles andere ist schon vorhanden

Grüsse
Bitte warten ..
Mitglied: go4java
03.02.2011 um 18:20 Uhr
...also, meine Erwartung ist und war lediglich, das Logfile auf eine für mich erforderliche Länge zurückzuschneiden, mit einem Detail-Output ausschließlich das DELTA beinhaltend. Ein "Dashboard" auf einen Blick. Meine Freizeit ist sehr begrenzt und ich kann und will mich nicht mit den Augen durch ein unleserliches Logfile durchwühlen - wenn anderen das File gefällt, bitteschön. Gruß
Bitte warten ..
Mitglied: 90776
03.02.2011 um 18:39 Uhr
ok aber was raubt dir mehr zeit?

2 min pro log,

oder

3 Tage skript schreiben
Bitte warten ..
Mitglied: go4java
03.02.2011 um 21:00 Uhr
Lösung war die Anwendung der erweiterten Parameter:
robocopy.exe "%Quelle%" "%Ziel%" /MIR /COPYALL /ETA /R:0 /W:0 /LOG:logfile.log /NS /NC /NFL /NDL
Bitte warten ..
Mitglied: Biber
03.02.2011 um 21:35 Uhr
Kleine Anmerkung zu deiner Parameterkombination.
Wenn du du doch mit /NFL und /NDL schon sagst "no file lyrics" und "no dir lyrics"...
Was vermutest du denn, welchen Einfluss bei nicht angezeigten Dateien und Ordnern
die zusätzlichen Spaltenausblendungen /NC und /NS haben könnten?.

Zusätzlich allerdings würde ich den Header weglassen mit /NJH.

Di kannst das Ganze gefahrlos simulieren am CMD-Prompt mit zwei zusätzlichen Schaltern
  • /L für /LassMaSehenWasPassierenWürde und
  • /TEE.

Beispiel (wenn du vorher %quelle% und %ziel% geSETzt hast
...dann siehst du gleich, wie viele Log-Zeilen übrig bleiben würden.
Bitte warten ..
Heiß diskutierte Inhalte
Microsoft
Die letzte Phase des Desktop Kriegs?
FrankInformationMicrosoft18 Kommentare

In seinem Blog vertritt Eric S. Raymond, bekannt auch unter seinem Hacker-Namen ESR, eine interessante Theorie um das Ende ...

LAN, WAN, Wireless
Allgemeiner Fehler
gelöst jensgebkenFrageLAN, WAN, Wireless16 Kommentare

Hallo Gemeinschaft, habe bei einem PC folgendes Ping Problem über ipconfig erhalte ich die IP 192.168.178.37 will ich diesen ...

Cloud-Dienste
Outlook.com down
LochkartenstanzerInformationCloud-Dienste13 Kommentare

Die Leute kommen nicht mal an Ihre Mails. Das ist der Grund, warum ich Kunden abrate Clouds zu nutzen. ...

Microsoft
Gespeichertes Eventlog per Powershell durchsuchen
gelöst DerWoWussteFrageMicrosoft12 Kommentare

Werte Kollegen! Ich archiviere die Securitylogs des Domänencontrollers jeden Tag. Wenn ich nun etwas im Log von z.B. vorgestern ...

Ubuntu
Server Bash Input Output error
gelöst DerEchteBoenFrageUbuntu12 Kommentare

Guten Tag Leute! Ich hab letztens einen älteren Hp Server mit 2x Intel Xeon mit jeweils 6 kernen und ...

Apache Server
Snipe IT error
Jannik2018FrageApache Server12 Kommentare

Weiß jemand von euch wie Ich das folgende Problem mit SNipe IT in den Griff bekommen kann ???

Ähnliche Inhalte
Backup

Ersatz für Robocopy für Sync vom NAS auf USB HDD

gelöst StefanKittelFrageBackup4 Kommentare

Hallo, aktuell nutze ich in einem Szenario Robocopy mit einem Script zum kopieren von Sicherungen auf eine USB HDD. ...

Windows Server

Robocopy Multithreading

gelöst emeriksFrageWindows Server22 Kommentare

Hi, mir ist soeben aufgefallen: Windows Server 2008 R2 Ein Ordner eines lokales Laufwerks mit vielen Ordnern (> 4 ...

Batch & Shell

Robocopy Version

gelöst schmitFrageBatch & Shell4 Kommentare

Hallo Zusammen, folgendes Problem: Ich kann die Option /MT :n nicht nutzen, da beim Ausführen von "robocopy" in Powershell scheinbar ...

Batch & Shell

Robocopy Logfile

gelöst michi-ffmFrageBatch & Shell7 Kommentare

Hallo zusammen, evtl kann jemand helfen ^^ Habe hier ein Teile aus dem Code: Das skript synchronisiert 2 Ordner ...

Batch & Shell

Robocopy Fehlerhaft

gelöst michi-ffmFrageBatch & Shell2 Kommentare

Hallo Zusammen, evtl kann jemand helfen. Bei der Quelle habe ich leider ein Leerzeile, im Netz lese ich immer ...

Netzwerke

RoboCopy Fehlermeldung

gelöst Daoudi1973FrageNetzwerke19 Kommentare

Hallo Zusammen, ich möchte mit RoboCopy einen Ordner vom Server1 auf Server2 kopieren. Ich habe : robocopy \\Server1\T:\\Ordner1 \\Server2\I:\ ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT