Differential backup and data synchronization can be implemented with several methods:
rcs: backup and history, text-only
rcs
rdiff-backup: backup and history. symlink OK.
rdiff-backup
pdumpfs: backup and history within a filesystem. symlink OK
pdumpfs
rsync: 1-way synchronization
rsync
unison: 2-way synchronization
unison
cvs: multi-way synchronization with server backup and history, text-only, mature. See Concurrent Versions System (CVS), Section 12.1.
cvs
arch: multi-way synchronization with server backup and history, no such thing as a "working directory".
arch
subversion: multi-way synchronization with server backup and history, Apache.
subversion
Combination of one of these with the archiving method described in Copy and archive a whole subdirectory, Section 8.3 and the automated regular job described in Schedule activity (cron, at), Section 8.6.27 will make a nice backup system.
cron
at
I will explain three easy-to-use utilities.