Mysql – Sauvegarder vos bases de données
juin 18, 2014 12:36 Laissez vos commentairesBonjour,
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 :Mysql
Cet article a été écrit par admin