I use Unison for all such synchronization, when I feel a DVCS would be overkill. Essentially it works like an intelligent two-way rsync of two folders, often through ssh. A simple example:
pi@raspberry ~ $ sudo apt-get install unison2.27.57
...
pi@raspberry ~ $ unison /home/pi/stuff ssh://server.example.com/stuff
For the first sync it will explain what is going on, then each time you run the same command it will show you changes and sometimes conflicts. If you want it in cron, set up passwordless ssh authentication and run with the options "-batch -silent".
Useful options:
-times Always synchronizes modification time (should have been default!)
-ignore For ignoring paths/files
-path For only synchronizing part of the directory (for speed)
-batch No user interaction
-terse Only useful output
-silent Only output errors
These options can also go in a configuration file. If you create "/home/pi/.unison/myserver.prf" you can then run "unison myserver". Check out the online manual and for a good primer "Setting up unison for your mom".
There is lots to learn about unison, and the configuration file format is a little weird. But I highly recommend it, as it really replaces dropbox and similiar services. I synchronize terabytes between lots of machines and it works great. The 2.27.57 version is available on most platforms (linux, windows, osx).