Sauvegarder vos bases de données MySQL avec automysqlbackup

Attention cet article est très ancien.La nouvelle méthode consiste à installer le script avec la commande suivante :

apt install automysqlbackup

Puis éditez le fichier /etc/default/automysqlbackup pour renseigner votre adresse mail (MAILADDR) et indiquez comme contenu de l’email (MAILCONTENT) la valeur « files ».

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.

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.

sudo mkdir /home/automysqlbackup
sudo mkdir /home/automysqlbackup/data
sudo mv automysqlbackup-2.5.1-01.sh /home/automysqlbackup/automysqlbackup-2.5.1-01.sh
sudo chown -R root: /home/automysqlbackup/
sudo chmod -R 700 /home/automysqlbackup/

Configuration de automysqlbackup

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

sudo 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 :

sudo 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 !

sudo 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 :

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

A vous de voir !

2 commentaires sur “Sauvegarder vos bases de données MySQL avec automysqlbackup”

  1. Bonjour,
    Lorsque vous avez ce genre de message, essayez d’utiliser bash à la place de sh.
    Notez que ce tutoriel est vieux (5 ans) et que maintenant vous pouvez installer le script dans sa dernière version avec la commande suivante :
    apt install automysqlbackup
    J’ai ajouté un message pour prévenir que l’article est ancien.
    Bonne journée !

  2. Bonjour
    J’ai essayé de suivre ta procédure mais malheureusement en voulant tester mon bash j’ai un message d’erreur :

    sh /home/automysqlbackup/automysqlbackup-2.5.1-01.sh
    399: /home/automysqlbackup/automysqlbackup-2.5.1-01.sh: Syntax error: « ( » unexpected

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.