A cron job is a command that will run at a scheduled time. My website host allows me to set up cron jobs through the CPanel interface. Now I know I can use the serendipity backup plugin to do this but it only backups up the database to a directory on the server. IMO this does not serve much purpose since a backup should always be placed on a different system to the one being backed up. I think a simple approach is to email myself the backup. So I use a cron job to backup my database. Its a series of piped commands:
mysqldump -ce --user=username --password=password dbname | gzip | uuencode dbbackup_e.gz | mail email@address.com
Ok basically what this does is dump the database using mysql. This dump is a simple text file with a series of sql commands that can used to restore the database using phpmyadmin. The options --ce are used to create a dump with extended inserts which results in a smaller dump. It is piped to gzip for compression and then uuencoded for transmission via email. Finally it is mailed to me. I have set this up to run once a week. So far it works beautifully!