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.
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.
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.