http://www.rsnapshot.org/
rsnapshot is a perl utility that creates (illusory) filesystem snapshots using rsync and hardlinks (to save space). Every time a file is changed, a new copy is created, otherwise a hard link is used. It works hourly, daily or monthly.