On 5 April 2016 at 14:26, Chris Green cl@isbd.net wrote:
I don't need real-time synchronisation like that provided by btsync, syncthing or pulse. The directory trees are really too big for this sort of thing anyway.
How big are they?
I have some very large trees synced using btsync.
I would prefer to use syncthing but it had a number of limitations last I checked and btsync worked far better for me. That said, if you were to use syncthing it (by default, last I checked) doesn't use inotify to detect file changes but scans the directory tree periodically, and that period can be changed, so i think it could so the once-per-hour that you've suggested.
It's biggest down side is that from memory it doesn't do an rsync-style transfer of differences but transfers the whole file - although I might be wrong or out of date on that. I recall this being one of the reasons I ended up with btsync.
On the other hand I don't want a manual system like Unison which anyway seems beset by problems with different versions at each end.
The version issue is a nuisance but can be managed. It's been a while since I used it in anger but i routinely copied binaries between systems and rarely had an issue, although a better solution would be to compile from source on each machine and keep them in sync that way.
I can do much of it using rsync with the --update option run first one way and then the other, this does nearly everything I want but there is one gotcha - files deleted will re-appear. File deletions will not be frequent but they will occur occasionally.
This description is pretty much why unison was created. In other words your use case is pretty much perfect for unison.
Has anyone come across anything that might do something like I want?
In the absence of alternatives others might suggest I'd go with btsync or unison. The limitations of either are probably less difficult to work around than struggling along with rsync or scripting something of your own.