Solution 1:

Carbon Copy Cloner should do the job.
CCC (Carbon Copy Cloner) creates a bootable backup, and preserves all your files, and in the right hierarchy. You can also have incremental backups (it only backs up items that have changed since the last backup). You can schedule CCC to backup regularly. CCC also has the ability to backup over a network. I also like the Growl notifications.

Carbon Copy Cloner

SuperDuper! is another handy little application. We used to use it for backing up before Time Machine came out. It has the ability to do incremental backups, so you won't be backing up the whole hard drive; just the data that's changed. Unlike CCC, it costs $27.95.

Superduper! main screen

Another option would be rsync or cp. Both will have the option to make a perfect backup, invisible files included. Rsync can also backup incrementally, which means it will only backup what has changed. With rsync and cp, you can also schedule it to backup with launchd or cron.

Solution 2:

Shirt Pocket's SuperDuper is a nice app, but it is pricey.
$28, free trial available.

One of its good features: It allows you to perform an incremental backup that only updates what's changed.

Solution 3:

Carbon Copy Cloner (CCC) hands down. Even Apple enterprise recommends it, and they use it for their live servers. Although SuperDuper! is fine for standard Mac OS, it is not recommended by the general population for the Server OS.

The latest CCC adds great features too. Use the $30 you would spend on SuperDuper! And donate it to CCC. It's what we use in the field.

Solution 4:

Clonezilla is awesome. Free, boots from cd / usb, works with win / mac / linux.

Great tool to have.