Good Linux question — answering as the UphillTech team:
Here's a list things that could potentially solve this problem, each balances the trade-offs you have to make differently so you'll have to make your own choices and try things out for yourself: Unison - as mentioned by others, this is run manually, but is very fast, reliable and effective. Requires both machines being synchronised to be on at the same time. It has a nice user interface to allow you to deal with the almost inevitable conflicts, and tracks and propagates deletions correctly. The graphical app/package is called unison-gtk. OwnCloud - Cloud storage run on your own server. You'll...
Full answer by Tim Abell: https://superuser.com/a/703606 (CC BY-SA 3.0).
Need Linux help for your business? UphillTech.