Magazine Insolite

Sauvegarder vos bases de données MySQL

Publié le 25 mai 2013 par Shadwk

Aujourd’hui, je vais vous parler du script automysqlbackup que j’utilise depuis des années et qui permet de sauvegarder vos bases de données MySQL puis de vous envoyer le tout par mail.

Dans ce billet, nous allons utiliser la version 2.5.1-01 qui n’est pas la plus récente mais qui à l’avantage de ne pas être en release candidate et de se configurer facilement directement dans le script shell… D’autre part, nous allons considérer que vous avez installé MySQL et ainsi qu’un serveur de mail.

Pour commencer, il va falloir se mettre en utilisateur root :

sudo su

Récupération du script automysqlbackup-2.5.1-01.sh

Pour récupérer le script, il faut se rendrez sur sourceforge puis cliquer sur le lien de la dernière version ou plus simplement, sur votre serveur vous faites la commande ci-dessous :

wget -O automysqlbackup-2.5.1-01.sh http://sourceforge.net/projects/automysqlbackup/files/AutoMySQLBackup/AutoMySQLBackup%20VER%202.5/automysqlbackup-2.5.1-01.sh/download

Et si sourceforge ne fonctionne pas au moment où vous lisez ces lignes j’ai fait un miroir…

wget -O automysqlbackup-2.5.1-01.sh http://files.hawkcreation.com/tools/automysqlbackup-2.5.1-01.sh

Installation du script

Nous allons maintenant installer le script dans un dossier spécial que seul l’utilisateur root pourra voir.

mkdir /home/automysqlbackup
mkdir /home/automysqlbackup/data
mv automysqlbackup-2.5.1-01.sh /home/automysqlbackup/automysqlbackup-2.5.1-01.sh
chmod -R 700 /home/automysqlbackup/

Configuration de automysqlbackup

Pour éditer la configuration du script, il suffit de faire la commande suivante :

nano /home/automysqlbackup/automysqlbackup-2.5.1-01.sh

Puis modifiez les valeurs suivantes :

  • USERNAME : Nom de l’utilisateur MySQL qui aura accès aux bases de données que vous souhaitez sauvegarder. Si il doit tout sauvegarder alors il faut que ce soit un administrateur comme par exemple « root » .
  • PASSWORD : Indiquez le mot de passe de l’utilisateur.
  • DBNAMES : Laissez le texte « all » si vous voulez toutes les bases de données ou sinon entrez les noms des bases en les séparant par un espace « DB1 DB2 DB3 » .
  • BACKUPDIR : Dossier dans lequel sera stocker les sauvegardes en plus des mails. Dans notre cas ce sera /home/automysqlbackup/data/ que nous avons créé précédemment.
  • MAILCONTENT : On définit le paramètre « files » pour recevoir les dumps dans le mail d’information.
  • MAXATTSIZE : Taille limite d’un mail qui vous sera envoyé pour ma part j’ai mit 20480 ce qui fait 20 Mo.
  • MAILADDR : Adresse mail ou sera stocké vos dumps et autant dire qu’il faut une boite mail avec pas mal d’espace !

Mise en place du crontab

Il ne nous reste plus qu’à définir le cron pour que la sauvegarde se fasse tous les jours. Pour cela en tant que root (toujours) ouvrez crontab en édition :

crontab -e

Maintenant ajoutez la ligne ci-dessous qui demande l’exécution du script tous les jours à 1h01.

1 1 * * * sh /home/automysqlbackup/automysqlbackup-2.5.1-01.sh &> /dev/null

Pour finir, vous pouvez tester que tout fonction à l’aide de la commande ci-dessous !

sh /home/automysqlbackup/automysqlbackup-2.5.1-01.sh

Vous recevrez un mail dans pas longtemps avec toutes vos bases de données et vous retrouverez par la même occasion un sommeil paisible =P

« Tout pareil mais avec un fichier de configuration » !

Pour les petits curieux qui auraient regardé la ligne 27, vous aurez probablement vu qu’il y a un chemin vers un fichier de configuration suivi d’un test pour voir si le fichier existe. C’est par ce biais que vous pouvez gérer votre configuration à partir d’un fichier mais dans ce cas il vaut peut être mieux faire :

apt-get install automysqlbackup
nano /etc/default/automysqlbackup

A vous de voir !


Vous pourriez être intéressé par :

Retour à La Une de Logo Paperblog

Ces articles peuvent vous intéresser :

A propos de l’auteur


Shadwk 9 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte