I am always harping on that you need to backup your WordPress installation, check out my post on when I think you need to backup your blog at 6 Key Times You Should Backup Your WordPress Blog
This posts is a review of the two plugins I use to backup my blog.
Why Do I Need A Backup
Computer systems go phutt on an all too regular basis, having a backup allows you to rebuild your blog with the minimum effort. Consider the time and effort you have put into developing your posts and your cool theme, this needs to be archived so you can recover in the event of a catastrophic failure, hacking attack or user error – bugger did I really click drop from my MYSQL console.
What You Need To Backup
There are two components you need to consider when doing a WordPress backup, the data in your MYSQL database and what I call the codebase or the files which make up a WordPress install.
The database is commonly backed up by most people, but who considers their codebase? This includes all of your uploaded media, any mods you make to your theme or your blog code and the latest natty plugin you added to your blog.
How Often
The frequency of backup should be done in line with how often you update your blog, if you write posts daily, backup daily, if you are uploading lots of media, backup the codebase frequently. Do it often, and do it early.
My preference is once daily for my database and weekly for my code base.
The Plugins ..
I use the following two plugins:
WordPress Backup (By BTE) – for codebase backup
WordPress Database Backup – for database backup (no shit Sherlock, I can tell that from the name)
There are many more at the WordPress plugin directory, have a look at http://wordpress.org/extend/plugins/tags/backup
WordPress Baclup (By BTE)
This is a great little plugin which takes a copy of my plugin, theme and upload directories and copies them into a directory under wp-content as a zip file. The zip file is then sent out via email.
I have this set to run once a week, but you can set it to daily or monthly. There is no on-demand option.
To restore from this backup, unzip the files and FTP them back to your host.
WordPress Database Backup
I did a quick straw poll on Twitter and the majority of repliers were using this plugin to backup their database. The same poll suggests people are not backing up their codebase.
WP Database backup allows you to backup all, or a selction of your MYSQL tables, and have that backup saved to your hosting server, downloaded or sent via email.  Like WordPress backup there is a scheduler but there is also an on-demand function, useful if you want a quick back before a change to your blog.,
The output is a SQL command file which when run against the database to recreate the tables and data. Please note a certain level of MYSQL knowlege is required to recover from this method.
Archiving My Backups
I use Gmail as a sneaky way to archive my backups, I have a rule to move the emails to my archive automatically, this means I have a number of checkpoitns with my backups so I can do a point in time recovery.
Testing Your Backup
It is all well and good having a backup, but have you tested your recovery process, I wrote a guest post on Problogger about this subject, check it out at http://www.problogger.net/archives/2009/02/12/testing-your-blog-backup.
The Missing Link
My complete WordPress install i..e wp-includes, wp-admin and the files in my blog root are not backed up by these two plugins so I keep a copy of my latest WordPress install files to hand, just in case.
Conclusion
There are a number of backup plugins out there, please please get some installed before your blog goes tits up and you end up attempting to recover your blog using this technique – Feck Arse and Google Cache