jeudi 21 avril 2011

Sauvegarde des bases des données mysql sous debian


Ce script récupère toutes les bases de données MySQL du serveur MySQL, puis compresse les données en ”.tar.gz”. Une fois les données compressées, elles sont envoyées par mail sur un compte mon compte monsar.database@gmail.com


Mutt est un excellent client de messagerie en ligne de commande et gère parfaitement l'envoi de pièce jointe.
Après avoir installé et configuré postfix, n'oubliez pas d'installer mutt; c'est un véritable clientb de messagerie en mode text

apt-get install mutt

En principe, il faut écrire le corps du mail dans un fichier :

nano /root/message_mail.txt

Bonjour,

En attache à ce mail, veullez trouvez la sauvagarde complete des bases des données du serveur Merci  

Script de sauvegarde

Fonctionnement

toutes les bases de données hébergées sur le serveur seront sauvegardées 
dans ”/root/save_mysql” compressées en ”.tar.gz” envoyées par mail
 
nano /root/script_save_mysql.sh 

#!/bin/sh
## Date -1 jour ##
DATE=$(date +%d-%m-%Y_%Hh-%M –date '1 day ago')
FILE=mysql_dump-${DATE}
## Utilisation de mysqldump attention ici l'option -p et votre mot de passe sont collés ##
mysqldump –all-databases -u root -pvotre_mot_de_passe > /root/save_mysql/$FILE.sql
## COMPRESSION ##
tar cvfz /root/save_mysql/$FILE.tar.gz /root/save_mysql/$FILE.sql
## Suppression du fichier .sql ##
rm /root/save_mysql/$FILE.sql
## Envoi par mail avec le fichier compressé en piece jointe ##
/usr/bin/mutt -a ”/root/save_mysql/$FILE.tar.gz” -s “Sauvegarde MySQL $DATE” -i /root/message_mail.txt email@domaine.com < /dev/null
exit 0
  
Il faut rendre le script exécutable

chmod +x /root/script_save_mysql.sh
Le script sera lancé à 1h du matin, donc on retranche 1 journée dans la date qui s'affiche pour que la sauvegarde soit la date du jour. 

Mettons le script dans le cron pour automatiser l'action

Le script script_save_mysql.sh sera exécuté toutes les nuits à 02h00.
crontab -e
00 02 * * * /root/script_save_mysql.sh > /dev/null
/etc/init.d/cron reload
Et le tour est joué.
Vous allez observer vos mails le jour suivants pour vérifier si vous avez réussi la sauvagarde ou bien changer l'heure du cron pour voir dans quelques minutes 

Que faire si ça ne marche pas ?

1. Vérifier les logs de postfix
2. Vérifier si si mutt est correctement installé
3. GIYF ( Google Is Your Friend)
4. vous avez mon numéro de téléphone (00243997647154)

Aucun commentaire:

Enregistrer un commentaire