Here is a simple backup script that we use to backup MySQL servers where there are a large number of databases. Each database is dumped out to separate file making restoration for individual databases much easier. Usually scripts dump all databases out into one large file. This is problematic if there are many databases and some of them are large. Simple copy the script into /etc/cron.daily to have it executed each day.
The script overwrites the previous days backup. Use something like "backuppc" to archive each days backup to a different server for a full fledged disaster recovery system. Make sure the file is not world readable. It should be owned by root:root and have 750 for permissions. Whats great about this script is that any new databases are automatically added to the backup process.
#!/bin/sh
umask 177
PASSWORD=xxxxxx
USER=xxxx
DATABASES=`mysql -u $USER -p$PASSWORD -e 'show databases'`
for database in $DATABASES
do
if [ $database != "Database" ];
then
mysqldump -u $USER -p$PASSWORD $database > /backups/$database.sql
fi
done