I'm going to be writing up the notes to do this for my own reference, but if enough people are interested I will turn it into an article and put it up on the web.
The end product will:
Turn off your site (so no-one can read/write to the db while the back-up is taking place)
Do a mysql dump (rather than a mysqlhotcopy - which is only compatible with the same version of mysql when it comes to restoring)
bzip2 the dump (bzip2 offers much better compression than gzip)
turn the site back on
scp the back up to another server
It will carry out a back up every day, then simply overwrite the next month - so you have back ups for a whole month. Also as there are some months with 31 days you'll have that contingency too.
Anyway let me know if you're interested - I've got most of it working already.
I know there is a guide here on a mysqlhotcopy backup - but I'm not keen on that as mysqlhotcopy has its downsides, and that version doesn't turn the sites off when carrying out a back up. (It can also be used for any db as it is not dependant on vb.)