Synchronisieren Sie Dateien zwischen zwei verschiedenen Ordnern auf einem einzigen Mac

4

Ich suche nach einer Lösung zum Synchronisieren von Dateien in verschiedenen Ordnern auf einem einzigen Mac.

Die Dateien werden unter dem Git-Versionskontrollsystem nachverfolgt, daher kann ich keine Aliase verwenden.

zgjie
quelle
2
Dies sieht aus wie ein XY-Problem . Können Sie also genauer beschreiben, welches grundlegende Problem Sie hier lösen möchten (ohne bereits Annahmen zu treffen, dass eine Synchronisierung die Lösung ist)?
Nohillside

Antworten:

2

Wenn die Git-Lösung für Sie nicht funktioniert, haben Sie Linux behandelt.

Verwenden Sie für die Ordnersynchronisierung rsync -avP —delete —exclude = 'excludeDir' / path / source / path / dest oder mirror. Verwenden Sie für den automatischen Betrieb die Scheduler- Registerkarte crontab

Theofanis
quelle
2
Linux hat wirklich nichts damit zu tun, da rsynces ein Teil von macOS ist und die Art und Weise, wie macOS Dinge plant, launchdnicht crontab. Ja, crontabist noch verfügbar, aber nicht mehr Teil der Roadmap von Apple für solche Ereignisse.
user3439894
1
@ user3439894 macOS ist eine Implementierung der Linux-Distribution, sodass verschiedene Komponenten noch verfügbar sind. Wie rsync und crontab, die ursprünglich zu Linux gehörten und daher in macOS enthalten waren. Ich mache alles auf meinem Macbook so, wie ich es auf unseren Servern mache, so ziemlich keine Unterschiede.
Theofanis
2
@Theofanis Nicht ganz. macOS basiert auf BSD und nicht auf Linux. Die Befehle sind ähnlich, da beide POSIX / Unix folgen.
Wowfunhappy
1

Da die Dateien der Git-Versionskontrolle unterliegen, können Sie den zweiten Ordner einfach als Remote-Repository hinzufügen.

Anschließend können Sie die Dateien zwischen den beiden synchronisieren, indem Sie Git Pull- und Push-Vorgänge ausführen.

Der einzige Nachteil ist jedoch, dass die Synchronisierung manuell durchgeführt werden muss.

Nimesh Neema
quelle
2
Man kann immer einen crontab / launchd-Eintrag einrichten, um ihn git pullregelmäßig auszuführen .
Nohillside