Using rsync As An Incremental Backup Tool
rsync is a tool common to the Linux operating system. What's unique about rsync is that after the initial backup, subsequent ones only backup updated files. This means that backups are really fast (important if you are backing up to remote directories via the network). After switching over from Windows not too long ago, I had not been backing up my documents, something I tend to do regularly. Since source codes gets backed up to the cvs, this is the only backup that I need. Here's a quick command to do rsync:
rsync -arvu --no-o --no-g [source dir] [target dir]
Here's a breakdown of what the rsync command does: a= archive, r= recursive, v= verbose, u= update, --no-o=do not change ownership, --no-g=do not change group. Since I backup to a flash drive, the target dir for Ubuntu users would be /media/[flash drive name]. I actually backup 3 dirs to the drive; my linux documents directory and 2 other windows documents dir. To automate the thing, I put the 3 rsync commands into a backup.sh script that I run every few days or so. If you're running the backup to a remote directory, you can even cron the backup script to run periodically. Cool eh?
Source: How to use rsync to backup files in Linux « Midspot, rsync chgrp error since upgrading to 7.04 - Ubuntu Forums