la commande permettant d'exporter une base de données est

[root]# mysqldump -h host -u user -p -r fichier_dump base_de_donnees [tables]

où user doit avoir les droits sur base_de_données.
Le plus prudent est sans doute des stocker ces dumps dans un répertoire du genre /Save où seul un utilisateur de confiance pourra venir les récupérer. Dans ces cas là on peut mettre une ligne de ce type par base à sauver dans la crontab de root

55     23     *     *     *   mysqldump -h localhost -u root --password=motdepase -r /Save/mysql.sql

En cas de catastrophe (piratage :-D), l'opération inverse s'effectue de la manière suivante

[root]# mysql -h host -u user -p base_de_donnees < fichier_dump

Le script suivant permet de garder une archive sur un mois

#Script SaveMysql.bash
#!/usr/local/bin/bash

# Fichier de destination : un mois d'archive réécrasée au fur et à mesure
FILE=`date +%d`.sql.gz

# Dossier de sauvegarde
DIR=/Save

# MySQL
#===========
# Sauvegarde toutes les bases de donn\xe9es MySQL

DBHOST=localhost
DBUSER=root
DBPASSWD=MyPASS

/usr/local/bin/mysqldump -A -c -h $DBHOST -u $DBUSER --password=$DBPASSWD | /usr/bin/gzip -9 > $DIR/mysql-$FILE
#le echo permet d'envoyer un mail via cron
echo "Sauvegarde MySQL"

On peut alors croner ce script en l'appelant via bash

0 23 * * * /usr/local/bin/bash /root/SaveMysql.bash