Unison, keep data in sync
Unison is an opensource file-synchronization tool for Unix and Windows written in CAML. Unlike rsync, it is able to propagate changes in both directions when synchronizing between two machines. I use it to keep my two laptops and my Desktop synchronized. Unison works both locally and remotely. SSH can be used to securely synchronize from anywhere to anywhere.
SSH options can be passed using the -sshargs option, eg:
unison folder1 ssh://machine/folder2 -sshargs '-port 2222'
Symlinks can be followed, and it makes things even easier : you can simply create a ‘sync’ folder in your home directory, containing symlinks to the data you want to keep in sync. I like to use it for config files such as .vimrc, .emacs.