Solutions de sauvegarde de base de données MySql

Le système de sauvegarde automatique de base de donnée mysql présenté ici est à base de programme cron. cron est le nom d'un programme qui permet aux utilisateurs des systèmes Unix d'exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l'avance, ou selon un cycle défini à l'avance.
Il est également possible d'exécuter automatiquement des commandes plus complexes à l'aide d'un script shell. Il suffit donc dans un premier temps de créer un script. Puis de le déclarer en tant que tâche dans la table cron.

Le script shell suivant (que l'on supposera stocké dans /backup sous le nom sauvegarde.cmd) exporte les enregistrements de MySQL (de la table nom_de_la_base ) dans un fichier dont le nom est nom_de_la_base suivi de la date sous la forme jour-mois-annee-heure-minute:

#!/bin/sh
DATE=$(date +%d-%m-%Y-%H-%M)
/usr/local/mysql/bin/mysqldump -u root nom_de_la_base > /backup/nom_de_la_base${DATE}.sql

Ainsi pour automatiser (chaque jour à 01h30) le backup de la base MySQL nom_de_la_base, il suffira d'ajouter l'entrée suivante dans la table cron:

30 01 * * * /backup/sauvegarde.cmd >>/dev/null

Pour ceux qui n'ont pas accés aux taches cron de leur serveur il y a la solution suivante en php ;

<?
echo "Sauvegarde de la base nom_de_la_base";
system("mysqldump --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe nom_de_la_base > nom_de_la_base.sql");
echo "Compression du fichier.....";
system("gzip nom_de_la_base.sql");
echo "Fin de la sauvegarde. Vous pouvez récupérer la base par FTP elle se touve sur le même répertoire que ce script";?>

Il ne reste plus qu'a utiliser les services de webcron pour automatiser l'éxécution de ce script