My vote here for backupninja.
I think this should handle all your needs here.
This application is "a silent flower blossom death strike to lost data", and based off of rdiff-backup.
Runs quietly in the background, as any good ninja should. Has a very useful and easy setup daemon called ninjahelper.
From the Description page:
Backupninja allows you to coordinate system backups by dropping a few simple configuration files into /etc/backup.d/. Most programs you might use for making backups don't have their own configuration file format. Backupninja provides a centralized way to configure and coordinate many different backup utilities.
- easy to read ini style configuration files.
- you can drop in scripts to handle new types of backups.
- backup actions can be scheduled.
- you can choose when status report emails are mailed to you (always, on warning, on error, never).
- console-based wizard (ninjahelper) makes it easy to create backup action configuration files.
- passwords are never sent via the command line to helper programs.
- in order to backup a db or sql database, you cannot simply copy database files. backupninja helps you safely export the data to a format which you can backup.
- works with Linux-Vservers.
Backup types include:
- secure, remote, incremental filesytem backup (via rdiff-backup). incremental data is compressed. permissions are retained even with an unpriviledged backup user.
- basic system and hardware information.
- encrypted remote backups (via duplicity).
- safe backup of MySQL, PostgreSQL, OpenLDAP, and subversion databases.
- burn CD/DVDs or create ISOs.
... I think this is going to be a lot easier for getting started than writing a custom script from scratch, though you may have to work some to get the MySQL databases.
(Plus, come on, what an awesome name?)
Screenshot of the "ninjahelper" configuration screen: