2

The setup is several laptops (Linux and Mac OS) which need a shared folder but do not have consistent access to the network. The files would need to be useable while offline and any changes be uploaded and downloaded upon reconnection with no interaction needed unless there is a change conflict.

Possible solutions reviewed:

  • Git - requires regular interaction and not intended for large binary files

  • Rysnc - only one way and does not handle merging changes

  • Samba/nfs - They don't keep a local copy and manual copying eventually becomes a huge merge issue

2

Bidirectional syncing is the exact goal of Unison, see https://www.cis.upenn.edu/~bcpierce/unison/ :

Unison is a file-synchronization tool for OSX, Unix, and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

It can work over ssh. From experience, the major problem is to make sure to have the exact same version of the software, even compiled the same way, on both sides, otherwise the synchronization will fail.

The tool would handle the bidirectional synchronization. However it does not operate as a daemon.

If you want to trigger automatically a resynchronization as soon as a file is modified, you need another tool, like inosync on Unix. Or anything that watches the filesystem and then can run unison.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.