Best way of splitting a folder


I have a following scenario. I have one send only node and several receive only nodes. The nodes share a single “Syncthing folder” with a lot of data.

- dirA/
- dirB/

I would like to split it up to two or more “syncthing folders” splitting up the data inside. I want to avoid re-copying data over network at all costs.

- dirA/

- dirB/

Whats the best way of doing this?

I was thinking about stopping all syncthings on all nodes, moving files locally, etc, then restarting all of them paused so they can scan and discover wheres what.

Or perhaps reset database on all of them, let them scan locally before unpausing?

The FAQ mentions a local copy, rescan then delete, but I’m not sure if this is applicable in my case.

Thanks for any advice!

Are we talking about Syncthing folders (as in the entities on the left of the web UI) or about folders/directories on the filesystem? In the beginning I was thinking the former, but talking about pausing and db resets sounds more like the latter.

I have updated the post. I meant “Syncthing folder” actually.

You can’t change paths on Syncthing folders, i.e. you’ll have to remove the current one and add two new ones. This means full reindexing (hashing) of your data (there could be workarounds, but I wouldn’t recommend going there). So database resetting doesn’t come into this at all.

If the data on all devices is the same, there will be no retransfer of the data. There will first be a potentialy long time of indexing (scanning), then there will be traffic of metadata, as all devices need to share and compare the just created indexes. This might look like syncing, but no data is synced (and thus the total volume is nowhere near syncing data). You don’t need to do anything special (pausing, …) to accomplish that. If you don’t pause devices, it will start exchanging indexes while scanning. I can imagine that to have no influence on speed at all, or make things faster or slower, depending on what’s the bottleneck for you (db access, hashing, network, …). Anyway unless you do have performance/time constraints, I wouldn’t bother thinking about it.

As always: Have backups - not because Syncthing is known to do bad things, but just because you must have backups, as reality is known to have its quirks xD

Thank you! I think I will follow your advice and create new folders.

So I did it. Removed the syncthing folder, then made dirA and dirB separate syncthing folders. I let all the remote received only nodes scan them as a new folder before enabling sharing with the send only “master”.

I got this thing now saying “Local Additions” with a red button “Revert Local Changes”. On some machines it seemed that it resolved itself but on some other it persists.

Should I just wait patiently or click revert local changes? I’m afraid doing so may trigger deleting the local copy and downloading over the network.

Receive only folders only accept data from other devices. If you create a receive only folder with existing data, all that data is a “local change”.

Understood but the content of send-only and receive-only is identical. They were previously part of a different sync folder and were fully synchronized.

It should however resolve items which are identical regarding data and permissions. As you say on some devices it did resolve itself, just not on this one, my guess is you have ignore permissions enabled usually, but not on this one device where you see local changes. If that’s not true, recheck one of those files, they need to be different in some way. (All assuming you run on a (the most) recent version, if that one device is on a different, older version, that might also be the culprit).

1 Like

Looks like enabling ignore permission did the trick!

Thanks so much for help!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.