Setup Help: Files modified after replication

Hello everyone,

I’m encountering a setup issue and would greatly appreciate your help.

We’re using Syncthing to replicate files between two virtual machines (VM1 and VM2), each running an ERP system. The goal is simple: keep both systems up to date by exchanging data changes.

Here’s how our architecture works:

  • Each VM has:
    • A SEND folder (to export its data changes)
    • A RECEIVE folder (to import changes from the other VM)

Data flow:

  1. Users modify data in the ERP.
  2. A custom data replicator runs periodically on each VM:
  • It exports changes as .BBN files into the SEND folder.
  • It imports .BBN files from the RECEIVE folder.
  • After processing a file in the RECEIVE folder, it renames it to .001 as an acknowledgment.

Syncthing is configured to sync:

  • VM1:SENDVM2:RECEIVE
  • VM2:SENDVM1:RECEIVE

The problem:

Syncthing gets confused because:

  • It sees .BBN files on the SEND side.
  • But after processing, the RECEIVE side no longer has .BBN, only .001 (0 bytes, used for tracking).

This results in accumulating out-of-sync items, since Syncthing tries to re-send the .BBN files (thinking they were deleted/modified), which is not what we want.

Syncthing notifies “elements modified locally” with a number of files that goes up a little more each time our custom replicator runs.

My goal:

We want one-way sync, where Syncthing:

  • Sends files from SEND to RECEIVE
  • Ignores any changes or deletions happening in the RECEIVE folder (after successful transfer)

What I’ve tried:

  • Using ignore patterns (.001) → breaks replication entirely
  • Searching for a “send-only but don’t care about the destination” mode → couldn’t find one that works for this use case

Is there a recommended approach to handle this kind of setup with Syncthing?

Any guidance or suggestions would be highly appreciated. I can provide setup screenshots or more technical details if needed.

Thanks in advance for your help!

I don’t think there is a mode that fits your use case cleanly. What you are doing isn’t really sync per se, it’s shipping files once, processing them, then removing them.

(Though if you change your workflow to just have bidirectional sync in either direction you might be fine.

  1. BBN files goes A to B, gets processed
  2. B removes the BBN file and creates a 001 file
  3. This syncs to A who sees the disappearance of the BBN file and the appearance of the 001 file and is happy
  4. A removes the 001 file and both folders are clean and ready for the next iteration. )
1 Like

Hello Jakob, Thank you for your feedback.

At the moment, we have set up the SEND folder as SEND ONLY and the RECEIVE folders as RECEIVE only. So it kind of works.

However, as you see in the screenshot, Syncthing detects local adds.

The problem is that after a while, when you have too many local additions, it shows as “desynchronized”.

We wish to use Syncthing to monitor that the files are transferred correctly. Unfortunately, this means we can’t because the synchronization status is bound to be failed after a while.

Indeed. As I said.

1 Like

Alright let me try to make sure I understood your original message.

So right now, I’m in SEND ONLY / RECEIVE ONLY mode and it doesn’t work.

You’re suggesting to switch to SEND AND RECEIVE mode. So if I do so:

  • BBN files are created in folder A
  • Syncthing detects the new BBN files and copies them to folder B
  • Replicator modifies BBN files and changes extension to 001
  • Syncthing detects the BBN file has disappeared and that a new 001 file has appeared in B.
  • Syncthing deletes BBN file from A and creates 001 file to A.

Am I correct?

So basically you are saying in the SEND & RECEIVE mode, Syncthing takes the file modification that is the most recent and applies it to the other side, right?

Other question: is there an impact with the pull order? It’s set as “random” currently.

I believe this may do it.

Thank you for your help :slight_smile:

Hello everyone, for the discussion sake, I believe I found how to do this. Syncthing was not enough, I had to add a Powershell script at the end.

  • I generate BBN files in folder A (SEND only)
  • Syncthing replicates to folder B (RECEIVE only)
  • A powershell script (triggered by task scheduler) copies the new files from folder B to folder C
  • then the final replicator modifies BBN to 001 in folder C. As it’s not linked to Syncthing, no problem here

Thank you

Have a good one

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