Robocopy Move Job mit wechselndem Log
Moin Moin,
Schwerer Titel
Hintergrund meiner Frage ist wie Ich einen Robocopy MOVe Job mache mit wechselnd benamten Log.
Auch nicht besser diese längere Kurzfassung.
Das konkrete Problem ist das folgende:
Wir haben hier unterschiedliche Programme die Daten liefern (Scanner) in einen Hotfolder.
Dann haben wir andere Programme die diese Daten weiter bearbeiten.
Das Problem ist in letzter Zeit immer mal wieder das die Systeme ins Stolpern geraten.
Die Ursache:
Die Dateien befinden sich noch im Zugriff eines anderen Programmes.
Des Scanners..
Und das bringt das weiter verarbeitende Programm aus dem Konzept.
Die Lösung:
Wir erstellen 2 Ordner:
C:\Scan-In
und
C:\Scan-Out
Wie der Name schon vermuten lässt scannen wir in den IN Ordner rein,
lassen dann über einen Robocopy Befehl die Daten verschieben nach OUT.
Und dort bedient sich die Weiterverarbeitung.
Dies lassen wir über den Taskscheduler ohne Anmeldung bei jedem Start ausführen.
Klappt wunderbar.
Jetzt meine Frage, Problem wäre fast zuviel gesagt.
Ich schreibe die Arbeiten in ein Log rein.
Zwar sehr ausführlich, aber das Log kann man regelmäßig löschen.
Und wenn man Probleme hat..
Nur.
Ich habe es bisher nicht hinbekommen das er in "regelmäßigen Abständen" ein neues Log schreibt.
Das kann auch täglich sein, ein bißchen Arbeit bei der Fehler Suche ist ja okay.
So wie wir es jetzt haben schreibt er alles immer in das gleiche Log rein.
Und ein regelmäßiges verschieben samt umbennung ist nicht möglich da das Log im zugriff ist...
Hat jemand eine Idee?
Ich bin nebenbei immer wieder am suchen.
Der Autor hier ist ganz gut:
https://adamtheautomator.com/robocopy-the-ultimate/
PS:
Keine windows externen Tools
Danke
TomTom
Die Befehlszeile:
Für weitere Verbesserungsvorschläge bin Ich offen.
Da Weihnachtszeit ist weiß Ich nicht wie schnell Ich reagieren kann.
Nächstes Jahr ist aber auch immer früh genug
Vielen Dank noch einmal.
Schwerer Titel
Hintergrund meiner Frage ist wie Ich einen Robocopy MOVe Job mache mit wechselnd benamten Log.
Auch nicht besser diese längere Kurzfassung.
Das konkrete Problem ist das folgende:
Wir haben hier unterschiedliche Programme die Daten liefern (Scanner) in einen Hotfolder.
Dann haben wir andere Programme die diese Daten weiter bearbeiten.
Das Problem ist in letzter Zeit immer mal wieder das die Systeme ins Stolpern geraten.
Die Ursache:
Die Dateien befinden sich noch im Zugriff eines anderen Programmes.
Des Scanners..
Und das bringt das weiter verarbeitende Programm aus dem Konzept.
Die Lösung:
Wir erstellen 2 Ordner:
C:\Scan-In
und
C:\Scan-Out
Wie der Name schon vermuten lässt scannen wir in den IN Ordner rein,
lassen dann über einen Robocopy Befehl die Daten verschieben nach OUT.
Und dort bedient sich die Weiterverarbeitung.
Dies lassen wir über den Taskscheduler ohne Anmeldung bei jedem Start ausführen.
Klappt wunderbar.
Jetzt meine Frage, Problem wäre fast zuviel gesagt.
Ich schreibe die Arbeiten in ein Log rein.
Zwar sehr ausführlich, aber das Log kann man regelmäßig löschen.
Und wenn man Probleme hat..
Nur.
Ich habe es bisher nicht hinbekommen das er in "regelmäßigen Abständen" ein neues Log schreibt.
Das kann auch täglich sein, ein bißchen Arbeit bei der Fehler Suche ist ja okay.
So wie wir es jetzt haben schreibt er alles immer in das gleiche Log rein.
Und ein regelmäßiges verschieben samt umbennung ist nicht möglich da das Log im zugriff ist...
Hat jemand eine Idee?
Ich bin nebenbei immer wieder am suchen.
Der Autor hier ist ganz gut:
https://adamtheautomator.com/robocopy-the-ultimate/
PS:
Keine windows externen Tools
Danke
TomTom
Die Befehlszeile:
robocopy c:\scan-in c:\scan-out /MOV /MOT:5 /V /TS /FP /LOG+:c:\tmp-data\MOVE_to_scan-out.log
Für weitere Verbesserungsvorschläge bin Ich offen.
Da Weihnachtszeit ist weiß Ich nicht wie schnell Ich reagieren kann.
Nächstes Jahr ist aber auch immer früh genug
Vielen Dank noch einmal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 527332
Url: https://administrator.de/contentid/527332
Ausgedruckt am: 21.11.2024 um 13:11 Uhr
8 Kommentare
Neuester Kommentar
Moin,
Nee, get-date gibt immer die vollständige Systemzeit zurück. Deshalb ist auch der Parameter -format notwendig, um nur das Datum zu bekommen. @TK1987 hat Dir ja auch die Variante mit reinem Batch gepostet. Wie hässlich! Deshalb benutze ich Batches nicht mehr. Viel zu kompliziert und unübersichtlich.
Liebe Grüße
Erik
Zitat von @TomTomBon:
Mit der Datumsvariable hatte Ich auch gedacht.
Aber er erstellt die Variable ja NUR beim ersten Start.
Und bei jedem neuen WIN Start...
Nur, wie oft werden Server gestartet ?
Mit der Datumsvariable hatte Ich auch gedacht.
Aber er erstellt die Variable ja NUR beim ersten Start.
Und bei jedem neuen WIN Start...
Nur, wie oft werden Server gestartet ?
Nee, get-date gibt immer die vollständige Systemzeit zurück. Deshalb ist auch der Parameter -format notwendig, um nur das Datum zu bekommen. @TK1987 hat Dir ja auch die Variante mit reinem Batch gepostet. Wie hässlich! Deshalb benutze ich Batches nicht mehr. Viel zu kompliziert und unübersichtlich.
Liebe Grüße
Erik
Technisch gesehen ist das weder mit PS oder Batch ein Problem. Aber ich plaudere mal aus dem Nähkästchen. Unser ERP System erzeugt bei bestimmten Transaktionen Textdateien die wir weiterverarbeiten. Ein Job rennt also alle paar Sekunden drüber und holt sich die neuen Dateien. Problem am Anfang war, dass das ERP die Dateien erstellt hat und ca. 1-2 Sekunden gebraucht hat bis die Daten fertig geschrieben waren. Heißt, der Job hat in unregelmäßigen Abständen eine Datei erwischt die korrupt war, da sie noch in Bearbeitung war. Wir haben das Ganze dann so gebaut, dass der Job die Dateien schiebt, die beim vorherigen Lauf gefunden wurden. Beim aktuellen Lauf sammelt er nur die Dateinamen die nach dem Verschieben übrig bleiben um sie beim nächsten Lauf abzuarbeiten.
tl;dr Wenn die Dateien gelockt sind, solange sie noch in Bearbeitung sind, würde es keine Probleme geben. Ansonsten ist es nur ein Frage der Zeit dass Robocopy eine korrupte Datei verschiebt.
Steffen
tl;dr Wenn die Dateien gelockt sind, solange sie noch in Bearbeitung sind, würde es keine Probleme geben. Ansonsten ist es nur ein Frage der Zeit dass Robocopy eine korrupte Datei verschiebt.
Steffen