Copie de sauvegarde de base de données MySQL

Voici un script qui exécute chaque jour une copie de votre base de données MySQL.

Il est possible de paramétrer le nombre de jours de sauvegardes à conserver.

Dans notre exemple, le fichier se place ici : /usr/local/bin/backup_database.sh

Afin d’éviter d’écrire plusieurs fois en clair l’utilisateur et le mot de passe d’accès à la base de données pour les commandes mysql et mysqldump, vous aurez remarqué l’instruction --defaults-file="$MY_CNF", qui fait appel aux informations stockées dans le fichier /etc/mysql/mariadb.conf.d/.my.cnf sous la forme :

Cette commande est à exécuter une fois par jour, en faisant un crontab -e et en ajoutant la ligne : 

Après l’exécution de ce script, vous aurez une copie intégrale par jour de votre base de donnée située à côté de votre base principale : 

  • ma_base_de_donnees
  • backup_ma_base_de_donnees_20250903
  • backup_ma_base_de_donnees_20250904
  • backup_ma_base_de_donnees_20250905
  • etc.