One way synchronization (for Zotero storage folder)


Zotero is a literature management program that stores attachments (web pages and pdfs) in folders with unique random names. It is possible to synchronize these folders directly:

For my application, I would like to do the same, but only propagate in one direction, from system A to system B. Folders directly added to B should stay on B, as there is not enough space on A. (Zotero db will be synchronized through something called a group library).

Sync conflicts should be rare, as the folder names are random, the only way to create a sync conflict is to add a pdf item to A, wait for it to propagate to B, and then modify it on B (e.g. by annotating), or by adding a further attachment on B. I don’t like this, but I could live with the issue if there is no other solution.

My current idea is:

  1. Set folder A to “Send Only”
  2. Set folder B to “Receive only”
  • Would this work in principle? Any better ideas?

Zotero stores all attachments in a single folder. Another idea is to two-way sync A to B’ and then create hardlinks for all items in B’ to B.

  • Has anyone experience syncing Zotero? The storage folder contains thousands of files, some with UTF-8 filenames. I already got a warning that one filename was normalized. If syncing messes up some folders in an obscure way, it might take a long time to detect the issue and I might lose all entries added during that time, a risk I don’t want to take.

  • Is there a way to deal with the sync conflict described above? Is it possible to only sync changes back from B to A if the file is already on A?

  • If I accidentally press “Revert Local Changes” on B, it will delete all changes unique to B. This is a massive risk. Is there a way to disable this button?

I realize this is a bit of an obscure question, but maybe someone has a similar issue. Any pointers will be much appreciated!

(Audrius Butkevicius) #2

Why don’t you just run a one way rsync every hour?

What’s the point of syncthing here?


I’ll have to think it through, but I think it will work perfectly. I never considered rsync, Zotero has its own cloud storage, but it can’t do one-way sync, I have been using syncthing for a while and read about the Receive Only folders and that is how I came up with the plan. Your idea is much better and simpler. Thank you!