Synchronisation mit speziellen Anforderungen?

Pseudonym_

Newbie
Registriert
Juni 2018
Beiträge
6
Guten Tag, bisher habe ich in eurem Forum nur viel Gelesen und bisher konnten alle meine Fragen beantwortet werden.
Nun habe ich jedoch ein Problem auf der Arbeit, bei dem sich auch unser Administrator schwer tut.

Es geht um die Synchronisation von zwei Verzeichnissen mit darin enthaltenen CNC Programmen. Ich habe mir folgendes überlegt.

Variante 1
  • ein Programm wird in Verzeichnis_1 zur Bearbeitung abgelegt
  • wenn das Programm in Verzeichnis_2 nicht vorhanden ist, dann wird es kopiert

Variante 2
  • ein aktualisiertes (neu erstelltes, weil altes falsch oder fehlerhaft war) Programm wird in Verzeichnis_1 zur Bearbeitung abgelegt
  • wenn das Programm in Verzeichnis_2 vorhanden ist und es sich seit der letzten Synchronisation nicht verändert hat, denn wird es durch das aktualisierte Programm ersetzt
  • wenn das Programm in Verzeichnis_2 vorhanden ist und ein neueres Speicherdatum als das zu synchronisierende Programm hat, dann soll dieses "alte" Programm in einen Unterordner (alt) verschoben werden und durch das aktualisierte Programm ersetzt werden
  • wenn im Unterordner (alt) Programme vorhanden sind, dann sollen alle behalten und mit Nummerierung gespeichert werden (Versionierung)
  • Synchronisation nur von Verzeichnis_1 nach Verzeichnis_2

Erschwerend kommt hinzu, dass Verzeichnis_1 ein Unterordner eines anderen Ordners ist.
Die gleiche Struktur soll automatisch auch für Verzeichnis_2 erstellt werden, wenn nicht vorhanden.

Ich hoffe ihr versteht was ich meine. Das Ganze soll auf einem Windows Server laufen.

Ist es möglich so etwas mit einfachen Mitteln umzusetzen?

Ich freue mich auf Antworten.

Danke und viele Grüße
 
Hi,

wieso das ganze "wenn alt vorhanden dann wegsichern" nicht komplett verwerfen und einfach ein Tool zur Versionierung wie "GIT" nutzen?

VG,
Mad
 
Was heißt für dich "mit einfachen Mitteln"? Soll es ein fertiges Programm sein, wo du zwei Pfade reinhaust und fertig? Oder liegt Scripting auch im Rahmen der Möglichkeiten?
 
Madman1209 schrieb:
Hi,

wieso das ganze "wenn alt vorhanden dann wegsichern" nicht komplett verwerfen und einfach ein Tool zur Versionierung wie "GIT" nutzen?

VG,
Mad

Puh, das sagt mir gar nichts. Ich habe von solchen Sachen auch überhaupt keine Ahnung, deshalb die Frage.
Ich habe oben nur versucht mit meinen Worten zu erklären, was ich mir vorstellen könnte.

Unsere Maschinenführer möchten gerne weiterhin Zugriff auf die "alten" Programme haben, deshalb die Idee mit dem Ordner.

@burglar225 im Prinzip wäre mir ein fertiges Programm am liebsten. Ich denke Sripting fällt raus.
 
https://freefilesync.org/
Ihr könnt es mal damit probieren. Eventbasiert (aka. immer dann, wenn ein neuer Ordner/eine neue Datei erstellt wird) wird das wohl nicht gehen, aber zeitbasiert per Windows Aufgabenplanung, da das Programm auch Unterstützung für die Kommandozeile bietet. Ob es ansonsten überhaupt in Frage kommt, müsst ihr aber selbst testen.
Ansonsten dürfte es eher mager werden. Vor allem Variante 2 ist doch schon sehr speziell und würde defintiv Individualprogrammierung erfordern.
 
Hi,

Puh, das sagt mir gar nichts.

aber eurem Admin sollte das etwas sagen... sonst ist er absolut fehl am Platz, so leid es mir tut.

Unsere Maschinenführer möchten gerne weiterhin Zugriff auf die "alten" Programme haben, deshalb die Idee mit dem Ordner.

Versionierung ist genau dafür da. Sämtliche Stände sind immer verfügbar, wenn diese benötigt werden.

VG,
Mad
 
Die easy Methode wäre sonst noch Dropbox. Das hat soweit ich das noch weiß eine automatische Versionierung. Heißt. Jedes Mal wenn eine Datei überschrieben wird, kannst du in Dropbox die ältere Version wiederherstellen (ich glaub bis zu 30 Versionen)
 
Hi,

firmeninterne und produktionsrelevante Daten würde ich nur unter Waffengewalt extern hochladen, schon gar nicht zu Dropbox und schon dreimal nicht in die USA...

VG,
Mad
 
  • Gefällt mir
Reaktionen: Tolotos
Hallo,

Madman1209 schrieb:
aber eurem Admin sollte das etwas sagen... sonst ist er absolut fehl am Platz, so leid es mir tut.

so äußern wollte ich das nicht, es steht mir auch nicht zu, allerdings doktern wir jetzt schon seit Monaten an diesem Thema herum und es gibt immer noch keine Lösung. Deshalb hatte ich jetzt mal diesen Weg gewählt.

Ich hatte ihn gerade mal dazu befragt und konnte mir gleich wieder einige Ausreden anhören. Es macht so halt auch keine Spaß.

Kann ich mir GIT als Programm vorstellen? Gibt es irgendwo eine Dokumentation für Dummys? Wie gesagt, ich kann mir sonst immer nur wieder Ausreden anhören.

@Piranha771 Dropbox kommt leider nicht infrage, das das Ganze nur in unserem Netzwerk zur Verfügung stehen soll.

Viele Grüße
 
Hi,

seit Monaten? Wow. Eventuell mal über einen echten Admin nachgedacht?

GIT ist eine Versionierung, die ursprünglich für die Entwicklung am Linux-Kernel entwickelt wurde, weil es da eben viele "Köche" gibt, die sich den Brei sonst schlimmstenfalls richtig verderben können.

GIT ist eine Versionierung und Versionsverwaltung. Sprich: Es gibt ein Arbeitsverzeichnis. Jemand ändert was, dann ist das eine neue Version. Jemand anders will diese Version (euer Verzeichnis 1), dann kann er diese Version auschecken. Jemand will eine ältere Version dann kann er sich diese ebenfalls holen.

Dazu gibt es auch immer eine Art "Changelog", wo man festhalten kann, was wo und wie und warum geändert wurde. Es gibt auch grafische Tools, die einem den Umgang damit erleichtern.

Btw: für so ein "Projekt" würde ich einen halben Vormittag veranschlagen, eventuell einen kompletten, wenn es noch irgendwelche Wünsche zusätzlich gibt... keine Ahnung, was eueren "Admin" befähigt, seine Position im Unternehmen zu halten - Fachwissen ist es aber scheinbar nicht.

VG,
Mad
 
Pseudonym_ schrieb:
@Piranha771 Dropbox kommt leider nicht infrage, das das Ganze nur in unserem Netzwerk zur Verfügung stehen soll.

Viele Grüße

Dann Seafile. Das kann man auf einem eigenen Server laufen lassen, hat Versionierung und Syncronisiert genauso unproblematisch wie Dropbox.
 
  • Gefällt mir
Reaktionen: BeBur
@Madman1209 Du kannst von einem eher kleinen KMU ausgehen dass im besten Fall 2 Admins hat. Die machen Netzwerk, Firewall, Server inkl. AD, Exchange und hoffentlich ein Backup, Drucker, haufenweise Turnschuhsupport und Support der gängigen Anwendungen und dem ganzen Lizenzkram.

So ein "generischer Admin" hat sehr selten mit eigenem Scripting und git zu tun, geschweige denn die Zeit dazu. Schulungen gibt es eher selten und mit Dingen aus der Linux- und/oder Entwicklungswelt eher selten Kontakt.

Sollten es keine inhouse Admins sein sondern ein Systemhaus bekommt das Anfragen der Anwender für neue Funktionen > Systemhaus schreibt Angebot an Chef > Chef ignoriert/lehnt ab weil "geht ja auch so".

Been there, done that. Beide Seiten mit erlebt und weil ich keine Lust auf Bastellösungen ohne Budget hatte mache ich inzwischen glücklicherweise andere Dinge in der IT.

Lösungsoptionen für den TE gibt es viele aber genau mit diesen Anforderungen bzgl. der "Versionierung" dürfte das bereits erwähnte FreeFileSync einen Blick wert sein. Ja, eine Lösung per git ist ggf. sinnvoller/platzsparender/professioneller aber das erfordert den Wille und die Fähigkeiten der Anwender sich damit auseinander zu setzen und es zu wollen.
 
  • Gefällt mir
Reaktionen: BeBur
Hi,

Madman1209 schrieb:
Eventuell mal über einen echten Admin nachgedacht?

Wir sind nur eine mittelgroße Tischlerei und unser Server wird von einem Systemhaus betreut.
Des Weiteren treffe ich nicht diese Entscheidungen.

Ich hatte diese Idee auch nur mal ins Spiel gebracht, weil es hin und wieder vorkommt, dass veraltete Programme bearbeitet werde, obwohl schon neue Programme vorliegen. Diese werden vom Maschinenbediener immer manuell kopiert und das Ordnerweise. Und wenn es eine Programm auf der CNC schon gibt, prüft niemand ob evtl. ein neues abgelegt wurde. (So häufig passiert es ja auch nicht). Manchmal hapert es eben auch an der Kommunikation.

Wichtig ist, dass es im Prinzip für die AV´ler und CNC Bediener beim Öffnen von Dateien und Ordnern bleibt. Es muss also so simpel wie möglich sein.

Da klingt mir das GIT evtl. doch zu kompliziert?

Wie gesagt, wir sind nur doofe Tischler.

Ich hatte mir halt ein Programm vorgestellt, wo man das mit "einfachen Mitteln" ermöglicht.

Viele Grüße
Ergänzung ()

Hi,

im Prinzip sieht das ja hier schon sehr nach dem Gefordertem aus.
was müsste ich denn als Pfad eintragen, wenn ein Ordner "alt" als Unterordner im jeweiligen Verzeichnis erstellt werden soll?

1597059367510.png


Danke und viele Grüße
 
Zuletzt bearbeitet:
Die Software hat ein "Handbuch": Versionierung
Ebenso ist auf der rechten Seite in mittlerer Höhe die Möglichkeit, sich Beispiele anzeigen zu lassen.

In das lange Feld mittig muss der Ordner bzw. dessen kompletter Pfad angegeben werden in den die alten Versionen sollen. Bei "Namenskonvention" nimmst du nicht 'Ersetzen' sondern eine der anderen Optionen. Da ich das Programm nicht auswendig kenne und nicht hier nutze musst schauen was für dich am besten passt. Es sollte aber etwas geben, dass den Namen anpasst/erweitert, z.B. um das Datum oder so.
Damit nicht hunderte Jahre alte Daten aufbewahrt werden kannst zusätzlich noch begrenzen wie lange und wie viele ältere Versionen aufbewahrt werden sollen.

Ansonsten: Leg dir zwei Testordner lokal an und probiere es aus oder suche nach Tutorials anderer Leute. Die Software ist keine Raketentechnik mit tausenden Parametern, du bist nicht der Erste der so etwas vor hat und mit Testpfaden und Systemen kann man nix kaputt machen in der Regel ;)
 
Hi,

snaxilian schrieb:
Leg dir zwei Testordner lokal an und probiere es aus

bereits erledigt.

In den Beispielen und im Handbuch habe ich leider keinen Hinweis gefunden, wie sich dieser Ordner dynamisch erstellen lässt. Ein absolutes Verzeichnis möchte ich nicht auswählen.

Noch jemand eine Idee?

Danke und viele Grüße
 
Also ich nehme deine Angaben wo du von zwei Verzeichnissen sprichst und ergänze diese beispielhaft mal:
D:\Daten\Projekte\verzeichnis_1\
D:\Daten\CNC-Steuerung\verzeichnis_2\

Variante 1:
D:\Daten\Projekte\verzeichnis_1\CNC-Programm1.cnc <-- wurde erstellt & Synchronisierung startet, Ergebnis:
D:\Daten\CNC-Steuerung\verzeichnis_2\CNC-Programm1.cnc <-- taucht auf

Variante 2:
Die Datei wurde jetzt geöffnet, verändert/bearbeitet und wieder in D:\Daten\Projekte\verzeichnis_1\ mit identischem Namen abgelegt. Synchronisierung läuft, da Datei in Quelle neu ist. Ergebnis soll sein:
D:\Daten\CNC-Steuerung\verzeichnis_2\CNC-Programm1.cnc <-- ist die neue Version
D:\Daten\CNC-Steuerung\verzeichnis_2\alt\CNC-Programm1-$Datum-$Uhrzeit.cnc <-- taucht auf

In dem Fall musst bei "Namenskonvention" entsprechend "time stamp [File]" wählen aber du musst eben auch explizit den Ordner D:\Daten\CNC-Steuerung\verzeichnis_2\alt\ angeben damit das Programm weiß wohin die Daten sollen. Alternativ musst "time stamp [Folder]" wählen, dann wird immer mit Datum und Uhrzeit ein Ordner erstellt und die Datei ohne Umbenennung verschoben.

Wenn du spezielle individuelle Anforderungen hast die Standardsoftware nicht bietet dann ist dies entweder die falsche Standardsoftware oder du musst dir eben Individualsoftware erstellen lassen was bei deinen Anforderungen Kanonen auf Spatzen wäre.
Meist reicht es da schon aus altbewährte Tools zu nehmen wie zum Beispiel RoboCopy und die individuellen Wünsche eben drum herum ein powershell Skript oder so packt. Da muss auch nicht das Rad komplett neu erfunden werden und man kann in Teilen auf bestehende Skripte zurück greifen.
Hier ein erstbestes gefundenes beliebiges Beispiel aus dem Netz was sich zwar um Backups kümmert und nicht die Synchronisation aber das muss man dann eben individuell anpassen: https://www.andysblog.de/windows-robocopy-backup-mit-versionen

Um die Angabe der Verzeichnisse wirst du nicht drum herum kommen. Wenn du verschiedene Projekte/Verzeichnisse hast musst eben pro Synchronisation einen Job in dem Programm anlegen.

Auch das muss man nicht zwingend selbst machen, der interne IT'ler oder Systemhaus kann da garantiert helfen oder man vergibt das an einen Freelancer. Ist das Paradebeispiel für einen "Werksvertrag". Anforderungen werden genau(!) geklärt, Zusatzfeatures wie Dokumentation etc vereinbaren. Dürfte in wenigen Stunden umsetzbar sein und kein Vermögen kosten sondern vermutlich gefühlt ein kleinerer dreistelliger Betrag.
 
Zurück
Oben