Hallo,
ich brauche mal Eure Hilfe. Ich habe aktuell folgendes Problem:
Auf der DS liegen diverse Projekte. Von einem MAC-Client aus, wird ein Projekt-Verzeichnis von der DS lokal auf den MAC kopiert. Dieses Projekt wird dann lokal bearbeitet und nach Abschluss der Arbeiten wieder zurück auf die DS kopiert. Dabei kommt automatisch der Dialog hoch, was mit dem bereits bestehenden Verzeichnis passieren soll. Hier wird dann "Ersetzen" ausgewählt.
Nun ist aufgefallen, dass einige Projekt-Verzeichnisse auf der DS unvollständig sind. Darin fehlen Dateien und Unterverzeichnisse.
Ich habe nun eine ganze Menge getestet und glaube nun zu wissen, wie es dazu kommen konnte:
Wählt man beim Kopieren der lokalen Daten zurück auf die DS die "Ersetzen"-Funktion aus, passiert in Wirklichkeit folgendes: Das Verzeichnis auf der DS bzw. dessen Inhalt wird gelöscht und danach werden die Inhalte neu vom MAC auf die DS kopiert. Ist aber vorher eine der Dateien aus dem Verzeichnis auf der DS zum Bearbeiten geöffnet worden, dann klappt das automatische Löschen, was vor dem Kopieren stattfindet, nicht und er bricht den Vorgang ohne irgendeine Rückmeldung ab. Bei großen Projekt-Verzeichnissen fällt das vielleicht auf, weil die ganze Aktion viel zu schnell ging - Aber bei kleineren Projektverzeichnissen merkt man davon nichts. Wenn man dann die lokale Kopie noch vom MAC gelöscht hat, dann ist die ganze Arbeit umsonst gewesen und man hat nur die Möglichkeit den alten unbearbeiteten Projektstand aus dem DS-Backup zu holen, sofern das Ganze rechtzeitig aufgefallen ist und der Stand noch in einem zurückliegenden Backup existiert.
Das große Problem an der Sache ist, dass OSX hier einfach keine Fehlermeldung bringt, sondern einfach den Vorgang abbricht. Ein funktionierender Workaround ist, dass Projektverzeichnis auf der DS zuerst manuell zu löschen und erst dann das bearbeitete Projektverzeichnis vom MAC wieder auf die DS zurückzukopieren. Hier sagt OSX nämlich beim manuellen Löschen, wenn er etwas nicht löschen kann, weil noch eine Datei geöffnet hat. Man kann also reagieren und die geöffnete Datei zunächst schließen, damit das Löschen durchgeführt werden kann.
Teste ich das Ganze komplett auf dem MAC lokal, dann gibt es keinen Datenverlust, wenn im Zielverzeichnis eine Datei geöffnet ist - Er löscht dann die Datei einfach trotzdem und kopiert Dateien anschließend komplett. Es spielt also die SMB-Freigabe eine Rolle dabei.
Kann jemand von Euch was zu dem Thema beitragen?
Grüße.
ich brauche mal Eure Hilfe. Ich habe aktuell folgendes Problem:
Auf der DS liegen diverse Projekte. Von einem MAC-Client aus, wird ein Projekt-Verzeichnis von der DS lokal auf den MAC kopiert. Dieses Projekt wird dann lokal bearbeitet und nach Abschluss der Arbeiten wieder zurück auf die DS kopiert. Dabei kommt automatisch der Dialog hoch, was mit dem bereits bestehenden Verzeichnis passieren soll. Hier wird dann "Ersetzen" ausgewählt.
Nun ist aufgefallen, dass einige Projekt-Verzeichnisse auf der DS unvollständig sind. Darin fehlen Dateien und Unterverzeichnisse.
Ich habe nun eine ganze Menge getestet und glaube nun zu wissen, wie es dazu kommen konnte:
Wählt man beim Kopieren der lokalen Daten zurück auf die DS die "Ersetzen"-Funktion aus, passiert in Wirklichkeit folgendes: Das Verzeichnis auf der DS bzw. dessen Inhalt wird gelöscht und danach werden die Inhalte neu vom MAC auf die DS kopiert. Ist aber vorher eine der Dateien aus dem Verzeichnis auf der DS zum Bearbeiten geöffnet worden, dann klappt das automatische Löschen, was vor dem Kopieren stattfindet, nicht und er bricht den Vorgang ohne irgendeine Rückmeldung ab. Bei großen Projekt-Verzeichnissen fällt das vielleicht auf, weil die ganze Aktion viel zu schnell ging - Aber bei kleineren Projektverzeichnissen merkt man davon nichts. Wenn man dann die lokale Kopie noch vom MAC gelöscht hat, dann ist die ganze Arbeit umsonst gewesen und man hat nur die Möglichkeit den alten unbearbeiteten Projektstand aus dem DS-Backup zu holen, sofern das Ganze rechtzeitig aufgefallen ist und der Stand noch in einem zurückliegenden Backup existiert.
Das große Problem an der Sache ist, dass OSX hier einfach keine Fehlermeldung bringt, sondern einfach den Vorgang abbricht. Ein funktionierender Workaround ist, dass Projektverzeichnis auf der DS zuerst manuell zu löschen und erst dann das bearbeitete Projektverzeichnis vom MAC wieder auf die DS zurückzukopieren. Hier sagt OSX nämlich beim manuellen Löschen, wenn er etwas nicht löschen kann, weil noch eine Datei geöffnet hat. Man kann also reagieren und die geöffnete Datei zunächst schließen, damit das Löschen durchgeführt werden kann.
Teste ich das Ganze komplett auf dem MAC lokal, dann gibt es keinen Datenverlust, wenn im Zielverzeichnis eine Datei geöffnet ist - Er löscht dann die Datei einfach trotzdem und kopiert Dateien anschließend komplett. Es spielt also die SMB-Freigabe eine Rolle dabei.
Kann jemand von Euch was zu dem Thema beitragen?
Grüße.