Real men don't do backups, they just cry.
SuperDuper is what I use to make my computer backups. I have two big Firewire drives where I can clone my whole drive and then keep it updated.
The backups are exact clones and they are bootable! I have used SuperDuper to restore systems after harddrive failure and migrate to bigger drives. It's very reliable, I feel safe using it.
I also make backups of my important data to DVDs regularly that I store off site.
The solution below still works well but SuperDuper is even better.
For making the first complete clone of a harddrive I use Carbon Copy Cloner.
http://www.bombich.com/software/ccc.html
For my day to day backup I use psync to copy all new and changed files.
http://www.jacek-dom.net/software/psync/
”…psync is a perl script that uses MacOSX::File to implement inclemental backup and restore”
I use psync with this shell script that could be run from cron.
#!/bin/sh
#
# Shell script for backup with psync for Mac OS X
# 2005-02-08 by Fredrik Jonsson <mailto(colon)fredrik(at)combonet(dot)se>
if [ $USER != "root" ]; then
echo "You must be root to execute this script."
exit
fi
# What area to backup, the default "/" will include the whole harddrive
SOURCE="/"
# What area not to backup, seperate by space
EXCLUDES=""
# Where to store the backup data
TARGET="/Volumes/[Your backup harddisk]"
# Check if Target exist
if [ ! -d $TARGET ]; then
echo "Target \"$TARGET\" are not mounted."
exit
fi
# Which program to invoke
CMD="/usr/local/bin/psync"
# What options to use
OPTIONS="-d"
# Build a bunch of --exclude ... statements and construct
# a number of arguments to send to psync
for i in $EXCLUDES; do
EXCLUDE_OPTIONS="$EXCLUDE_OPTIONS --exclude=$i"
done
# Do the backup
echo "Doing this: $CMD $OPTIONS $EXCLUDE_OPTIONS $SOURCE $TARGET"
$CMD $OPTIONS $EXCLUDE_OPTIONS $SOURCE $TARGET
echo "Backup is done!"