Base :
Lorsque l’on administre un serveur web (sous Linux), tôt où tard on se retrouve confronté à la nécessité de faire la sauvegarde d’une ou plusieurs bases de données MySQL.
Le script suivant permet de minimiser les répétitions : il réalise le dump au format bzip2 de la base de données dont on a passé le nom en paramètre. Le dossier de destination est configurable dans le script.
A lancer dans un tmux (ou screen) si vos bases sont grosses et/ou votre connexion ssh peu fiable...
Pour la restauration d’un ensemble de sauvegardes bzippés, voir Myextract : un script pour restaurer un ensemble de dumps MySQL
Pour aller plus loin :
On peut vouloir automatiser un peu plus la sauvegarde en passant un fichier listant toutes les bases à sauver, fichier généré à partir de la liste des bases présentes sur le serveur.
Le scénario "évolué" pourrait donc être :
- générer le fichier liste_bases.txt listant toutes les bases :
Le fichier obtenu liste l’ensemble des bases présentes, une par ligne.
- éditer le fichier et enlever les bases qui ne sont pas à sauvegarder (phpmyadmin, performance_schema, mysql...)
- lancer mydump.sh en boucle sur toutes les tables restant dans le fichier liste_bases.txt :
