Syncing Two Sometimes-on Machines

I’m looking to sync two sometimes-on machines. I’m concerned about delays in sync when they don’t both happen to be on at the same time for an extended period of time. (Days or weeks, not months.)

I have a third machine which is (almost) always on. I don’t particularly have a need to have these files on that machine. I could:

  • Set up the two sometimes-on machines and live with extended-delay sync.
  • Set up each of the two sometimes-on machines to sync to a ‘relay’ directory on the 3rd machine.
  • Set up all of the 3 machines to sync with the other 2.

Which design is likely to make me happiest over the long term?

Are there any particularly high areas of risk?

(I’m not concerned over simultaneous updates – just sync hazards.)

I’m using the third option for two years now.

I have a server that is always online and is always reachable from everywhere (incoming & outgoing connections) and has high bandwidth. The server (usually) holds everything, even though it doesn’t need most of the data - it’s just storing them to have them available later on.

My use case is that I have a desktop PC at home and a laptop for mobile, e.g work/university. Since I’m either at home or remote, I rarely have both desktop and laptop online simultaneously, but if I did work on my desktop I need the files on the laptop later. That’s where syncthing is involved, as it can use the always-on machine.

I can’t recall many issues, it usually works perfectly fine. Just check the GUI from time to time so that any possible issue is detected early on.

My number one issue is/was probably case-only renames, but I’ve learned to rename files if that happened.

1 Like

@Nummer378 - interesting about the case-only renames. My target machines are Windows and Mac, which preserve case in file names but do not otherwise care about it. (“Preserves but does not distinguish case.”)

But my always-on machine is Linux, which preserves and distinguishes case. Adding the always-on machine to the sync introduces “distinguishes case” into the picture.

Yeah I have a similar setup. Rule of thumb for syncthing is:

“If any of the machines involved in sync use a case-insensitive filesystem, case only renames will most likely not work correctly”

This is a known issue that may be resolved one day, but for now just be aware that you can get some sort of sync error if a case only rename happens. This is a recoverable error though.

1 Like

Back to the original question, I would definitely set up all folders on all three machines. There’s no benefit of having some-but-not-all devices sharing with each other, especially in such a small mesh, meanwhile there are speed and resiliency benefits to having them all share to every device.