If you don't mind getting your hands dirty with the command line, there are a couple of great ways. Personally, I use rsync to keep my iPhoto library (and iTunes for that matter) coordinated between 3 systems by pushing out the newest copy whenever I make changes.
Rsync is smart enough to only copy the changes, and not the entire library each time. Now, if you want something that performs regular backups with history you can also try rdiff-backup. It uses rsync internally, which makes it fairly fast, and can be found in MacPorts.
iPhoto puts all of your photos into a library similar to the way iTunes puts all of your music into a music in a library folder structure. That being said you could easily just copy the library from your hard drive to another. I know you want to back it up, but here is some information on how to move the library and much of the info should be useful in your soluition: http://basics4mac.com/article.php/move_iphoto_lib and http://www.hinkty.com/blogger/2006/02/how-to-move-your-iphoto-library-to.html
Also if you want to share a library between users/systems see here: http://forums.macrumors.com/showthread.php?t=158248
And lastly there is a application manager which can handle much of this in a more simplier manner called iPhoto Library Manager
If you don't mind getting your hands dirty with the command line, there are a couple of great ways. Personally, I use rsync to keep my iPhoto library (and iTunes for that matter) coordinated between 3 systems by pushing out the newest copy whenever I make changes.
Rsync is smart enough to only copy the changes, and not the entire library each time. Now, if you want something that performs regular backups with history you can also try rdiff-backup. It uses rsync internally, which makes it fairly fast, and can be found in MacPorts.