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
GELÖST

Täglicher Sync von A nach B mit Robocopy

Frage Entwicklung Batch & Shell

Mitglied: go4java

go4java (Level 1) - Jetzt verbinden

02.02.2011, aktualisiert 18.10.2012, 8369 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:
> RoboCopy /??? 
.... 
... 
   Logging options 
                /L : List only - don't copy, timestamp or delete any files. 
               /NP : No Progress - don't display % copied. 
         /LOG:file : Output status to LOG file (overwrite existing log). 
        /LOG+:file : Output status to LOG file (append to existing log). 
                     UNILOG and UNILOG+ will output to a unicode logfile ## 
               /TS : Include Source file Time Stamps in the output. 
               /FP : Include Full Pathname of files in the output. 
               /NS : No Size - don't log file sizes. 
               /NC : No Class - don't log file classes. 
              /NFL : No File List - don't log file names. 
              /NDL : No Directory List - don't log directory names. 
              /TEE : Output to console window, as well as the log file. 
              /NJH : No Job Header. 
              /NJS : No Job Summary. 
...
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
robocopy.exe "%Quelle%" "%Ziel%" /L /MIR /COPYALL /ETA /R:0 /W:0 /LOG:logfile.log /NS /NC /NFL /NDL /tee|findstr /n .
...dann siehst du gleich, wie viele Log-Zeilen übrig bleiben würden.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Server
gelöst Robocopy RECYCLE.BIN (21)

Frage von swissbull zum Thema Server ...

Windows Server
SBS2011 - täglicher Statusbericht in Aufgabenplanung

Frage von caspi-pirna zum Thema Windows Server ...

Windows Tools
Robocopy . Datei im Zielverzeichnis nur überschreiben, wenn neuer (7)

Frage von gnrmarcel zum Thema Windows Tools ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...