Automator: Zwei Ordner lokal synchronisieren

mbk67292

Mitglied
Thread Starter
Dabei seit
23.07.2014
Beiträge
10
Reaktionspunkte
1
Hola,
habe mein Leben noch nie mit Automator gearbeitet und frage gleich mal, ob folgendes möglich ist und man mir eine Schritt-für-Schritt-Anleitung geben kann.

Problem: Bankingsoftware MoneyMoney.
Diese legt ihre Datenbank in der Library ab, eine Synchronisationmöglichkeit zum Nutzen auf mehreren Rechnern gibt es nicht.

Meine Idee:
Der Ordner in der Library soll mit einem Ordner unter Dokumente steht synchronisiert sein.
Der Dokumentenordner wird ja in der iCloud synchronisiert, so hätte ich stets den aktuellen Stand der Datenbank auf allen Rechnern.
Also von der Library zur iCloud auf alle Rechner in die Library.
Hatte es schon versucht, den Ordner der Datenbank in die iCloud zu schieben und einen Symlink zu hinterlegen, dann kommt aber die Fehlermeldung beim Öffnen, dass entweder keine Schreibrechte bestehen oder die Datenbank außerhalb der Apple-Sandbox liegt.

Kann die automatische Synchronisation von einem Ordner in der Library mit einem Ordner unter Dokumente realisiert werden? Überwacht der Automator den Ordner und schieb jeweils die neuste geänderte Datenbank entsprechend hin und her? Muss ja in beide Richtungen gehen.

VG

Martin
 
Nach meinem Verständnis suchst du eine Synchronisation der MoneyMoney-Daten über verschieden Rechner hinweg.
Deine Daten stecken wahrscheinlich in komplexeren Datenbanken und die sind oft ziemlich sensibel gegen Manipulationen.

Wenn ich das machen müsste, würde ich mir ein Skript (oder sowas) außenrum schreiben, das folgendes tut:
  1. Existenz eines busy-Files (siehe 2.) prüfen, ob das Programm auf einem anderen Computer schon läuft, ggf. abbrechen
  2. Busy-File im Cloud-Ordner anlegen (und damit die anderen Computer aussperren)
  3. Sicherungskopie des letzten funktionierenden Zustands anlegen
  4. Eine Arbeitskopie der Dateien aus dem Cloud-Ordner in den lokalen Ordner einkopieren
  5. Vollzug abwarten
  6. Das Money-Programm starten und auf dessen Beendigung warten
  7. Die Arbeitskopie in den Cloud-Ordner zurückkopieren
  8. Vollzug angemessen abwarten, bis die Cloud-Synchronisation voraussichtlich erledigt ist
  9. Busy-File löschen
Sowas kann man sich für den Eigengebrauch quick-and-dirty zusammenstricken oder aufwändiger fehlertolerant bauen. Details hängen vom Programm und der Gesamtsituation ab.

Bei Konten, Geld und Buchhaltung wäre ich da eher vorsichtig und würde bei jedem Schritt noch Gürtel und Hosenträger einbauen. Ob das mit Automator etal. gelingt, da wär ich skeptisch.
 
  • Gefällt mir
Reaktionen: mausfang
Hallo MrChad,
Danke für deine Nachricht.
So kompliziert ist das gar nicht.
MoneyMoney legt die Datenbank nach dem Beenden des Programs in einer einzigen Datei ab und kreiert noch eine Backup-Datei.

Das heiß, dass, wenn nach Beenden des Programs diese eine Datenbankdatei aktualisiert wird, diese in den Ordner der Dokumente kopiert wird, fertig.
iCloud-Sync übernimmt dann den Rest.
Auf dem nächsten Rechner kommt die neue Datei dann über iCloud an, dort muss dann die Datei in den Datenbankordner in der Library kopiert werden.

Fertig :)
 
So kompliziert ist das gar nicht.
MoneyMoney legt die Datenbank nach dem Beenden des Programs in einer einzigen Datei ab und kreiert noch eine Backup-Datei.
Wenn du meinst ...

Ich kenne dein Programm nicht, weiß aber, dass es auf dem Mac in solchen Konstellationen häufig Ärger mit Datenbank-Korruption gibt.
Meine eigenen Experimente mit dem Buchhaltungsprogramm habe ich zum Glück ganz schnell wieder eingestellt.

Wünsche trotzdem viel Erfolg.
 
Abgesehen von Ärger oder nicht: macht hier nicht ein Symlink vom Ordner in Library zum Ordner in den Dokumenten mehr Sinn, als eine Synchronisation?
Terminal:

ln -s ~/Library/OrdnerVonMoneyMoney/ggfInUnterordnern ~/documents/MoneyMoney

Den Ordner natürlich vorher umkopieren.
 
Hallo Jarvis,
das war mein Versuch (habe ich oben geschrieben).

Habe den Ordner der Datenbank aus der Library in den Dokumentenordner verschoben, dann einen Symlink erstellt (wie du beschrieben hast mit "In -s ..." und diesen Symbolic Link in der Library hinterlegt.

MoneyMoney findet beim Öffnen die Datenbank, dann kommt aber folgende Fehlermeldung (siehe Screenshot) :-/
 

Anhänge

  • Bildschirmfoto 2023-07-19 um 10.31.19.png
    Bildschirmfoto 2023-07-19 um 10.31.19.png
    227,7 KB · Aufrufe: 60
Benutzt du vielleicht MoneyMoney aus dem App Store?

Gerade selbst probiert, vermutlich müsste man MoneyMoney die Berechtigung für ~/Documents geben oder wo auch immer die Datei liegt.
 
Hast Du den mal versucht ohne Sync, ob das Program eine einfache Kopie des Ordners auf einem anderen Rechner überhaupt aktzeptiert?
 
Hallo Picknicker,
ja, das geht einwandfrei.
Ein offizieller Workaround von MoneyMoney sieht vor, diese eine Datenbankdatei mittels eines NAS zu synchronisieren.
Früher hatte ich das so gemacht, habe in der Zwischenzeit allerdings keinen Bedarf mehr für ein NAS. Und das mit wegen einer Datei für MoneyMoney laufen zu lassen…
iCloud wäre die schönste Lösung.
Könnte mit Chronosync die Ordner synchronisieren, aber wegen so einer, im Prinzip doch recht simplen Aufgabe, zwei Ordner zu überwachen und die stets neueste Datei hin und her zu schieben, weitere Software zu installieren, bisschen unnötig.
Dachte, das wäre mit Bordmitteln zu lösen und einer kleiner Einstieg in Automator.
Aber das ist mit Automator scheinbar nicht zu lösen 🤔
 
Wie sähe den die Lösung mittels NAS aus?
Grundproblematik ist doch die selbe…

PS
Und was soll gesynct werden?
Wenn ich das recht in Erinnerung habe, werden die Bank-Vorgänge/Transaktionen ähnlich wie ein IMAP Account von den Bankservern geladen.
Nur das Initial-Setup der Bankdaten muss man einrichten
Oder habe ich das falsch in Errinnerung?
 
Das Synology-Nas bringt eine eigene Software zur Synchronisation mit.
Transaktionen werden von der Bank geladen, ja. Aber die Software, wie wohl jede andere auch, gibt die Möglichkeit von Notizen, Rechnungsbelegen anzuhängen, taggen uvm. Aktuell kopiere ich diese eine Datei manuell immer hin und her, es soll einfach mit Bordmitteln (wenn möglich) automatisiert werden.

Vielleicht habe ich auch einfach zu viel geschrieben und erklärt.
Mal anders formuliert:

Kennt sich hier jemand mit Automator aus und kann mir sagen ob und falls ja, wie genau man mit Automator zwei lokale Ordner überwachen kann und bei Änderung einer Datei in einem dieser Ordner diese bidirektional zwischen diesen beiden Ordnern synchronisieren kann?
 
Zurück
Oben Unten