Back up your data!!!
(P.S. Back up your data!) Otherwise you might end up like this guy (warning: contains bad words).
If you are looking for commercial dedicated backup tools, take a look at Arkeia and BackupExec.
For homegrown solutions, you can use tar(1) or rsync(1). The latter is particularly interesting as it can synch directory trees with minimal I/O. To copy to another machine/partition etc you can do rsync -av --rsh="ssh" sourcedir destdir. Other options you might like to consider on rsync(1) command line are -l which keeps symlinks intact, -z which compresses the data (useful over slow links), and --delete which deletes files which exist on the destination but not the source (use with caution!!)
rsync(1) has also been used as the basis for a number of Free tools, such as the excellent rsnapshot, which lets you keep multiple backups at only slightly more space usage than a single day by keeping only one copy of files unchanged across backups. Another rsync(1)-based tool is rdiff-backup(1)?, a Python program based on rdiff(1)?.
2 pages link to BackupNotes: