web-dev-qa-db-fra.com

Sauvegarde automatique de mysql sur Ubuntu

J'ai un serveur Ubuntu avec une base de données Mysql. Je souhaite mettre en place une sauvegarde automatique de cette base de données pendant la nuit sur un autre serveur (ovh par exemple).

Je ne sais pas quel serait le meilleur outil pour cela. Si quelqu'un a des conseils ...

Merci d'avance.

12
user1260928

Le moyen le plus simple d’automatiser cette tâche serait de combiner MySQL Dumps et un travail cron. Vous pouvez trouver beaucoup d'informations sur ce sujet sur ce site et d'autres sites Internet, mais pour des raisons de précision:

Créez un fichier mysqldump.sh

Ce qui contiendra la commande mysql dump que nous allons planifier dans un travail cron (remplacez l'utilisateur, le mot de passe et le chemin d'accès pour correspondre à votre environnement):

mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz

Edit: Si vous voulez que le script stocke la sauvegarde dans un emplacement distant, montez simplement le périphérique ou le partage correspondant et utilisez le chemin de montage dans le script.

Testez le script

Assurez-vous que le script dispose des autorisations d'exécution:

chmod +x /path/to/mysqldump.sh

Exécutez le script:

sh /path/to/mysqldump.sh

Et vérifiez qu'il fonctionne correctement (le fichier de sauvegarde sera créé dans le dossier de sauvegarde spécifié).

Créer et planifier un nouveau travail cron

Dans un type d'invite de commande

Sudo crontab -e

Et ajoutez la ligne suivante au bas du fichier:

30 23 * * * /path/to/mysqldump.sh

Ceci exécutera le script tous les jours à 23h30.

Étendre ce script simple

Il y a littéralement beaucoup de choses que vous pouvez faire pour améliorer cette méthode de sauvegarde simple:

  • Sauvegarde sur un autre système
  • Surveiller l'espace disque
  • Rapports par courrier électronique
  • ...

Alors ne vous arrêtez pas là et expérimentez! :-)

Utiliser des outils de sauvegarde ou des services de sauvegarde basés sur le cloud

Bien que la méthode ci-dessus soit l’une des plus simples et puisse être étendue pour répondre à vos besoins spécifiques, il convient de mentionner qu’il existe d’autres alternatives:

  • outils de sauvegarde tels que AutoMySQLBackup, une application open source qui pourrait faciliter le processus de configuration de la notification par courrier électronique, de la compression, du cryptage, de la rotation et du type (incrémentiel, par exemple) de vos sauvegardes. Quant à Mai 2018, il est disponible pour Ubuntu Server via APT.
  • services de sauvegarde basés sur le cloud tels que BackupBird, myRepono, Bitcan, etc., qui pourraient être intéressants si vous gérez plusieurs serveurs de base de données et souhaitez gérer de manière centralisée toutes leurs sauvegardes.

N'oubliez pas que je ne suis en aucun cas lié aux solutions et services mentionnés ci-dessus et que je ne les énumère que pour référence, utilisez-les à vos risques et périls.

Liens utiles/Références:

Cron -> https://en.wikipedia.org/wiki/Cron

MySQL Dump -> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html

29
Eduardo López