Autorsync is a project mainly written in Ruby, it's free.
Automatically runs rsync when a file changes.
Automatically runs rsync on directories from local directories to a remote ones. Currently only works on Mac OS X (uses ruby-fsevent to detect file changes).
Usage:
gem install ruby-fsevent
autorsync.rb
Configuration file format is in autorsync.conf.example.
It's advisable to use this with ssh muxing as setting up a new ssh connection is costly.
Put this into your .ssh/config and keep a separate ssh connection open to the host:
Host *
ControlMaster auto
ControlPath /home/