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



