Mysql – Sauvegarder vos bases de données

juin 18, 2014 12:36 Publié par Laissez vos commentaires

Bonjour,

Pour sauvegarder immédiatement toutes vos bases Mysql, vous devez utiliser la commande suivante :

 mysqldump -u root -p --all-databases > chemin_dossier_sauvegarde/backup.sql

Si vous souhaitez planifier la sauvegarde des bases, il nous faudra passer par l’utilisation d’un script :

nano mysql_backup.sh

#!/bin/bash
cd /home/backup/
databases=`mysql --user=root --password=motdepasse -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
for i in $databases; do
mysqldump --user=root --password=motdepasse  $i > $i_`date +"%Y-%m-%d"`.sql
## Compression de la sauvegarde
#tar jcf $i_`date +"%Y-%m-%d"`.sql.tar.bz2 $i_`date +"%Y-%m-%d"`.sql
## suppression de la sauvegarde non compressée
#rm $i_`date +"%Y-%m-%d"`.sql
# on supprime les sauvegardes de plus d'une semaine :
find /root/scripts/backups/ -type f -mtime +7 -delete
done

Si vous souhaitez compresser la sauvegarde, dé-commentez la ligne correspondante dans le script. Faite de même pour la suppression de l’archive non compressée.

Nous allons maintenant paramétrer la tache planifiée :

nano /etc/crontab

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
00 03 * * * root /home/backup/mysql_backup.sh

Le script se lancera tous les jours à 3 heures du matin.

Plus de précisions sur l’utilisation de crontab dans le tuto suivant :

Linux – Utilisation des taches planifiées avec crontab

Classés dans :

Cet article a été écrit par admin

Laisser un commentaire