S3cmd : sauvegarder une base de données Mysql/MariaDB
Installation et configuration de S3cmd
Pour sauvegarder une base de données Mysql ou MariaDB sur "Leviia stockage objet", commencez par installer et configurer S3cmd tel que décrit ici :
https://wiki.leviia.com/fr/article/configuration-et-utilisation-de-s3cmd-1xd0jna/
Installation de Mysqldump
Une fois la configuration effectuée, assurez vous d'avoir installé "mysqldump" sur votre serveur.
Vous pouvez le faire un installant mysql-client sur debian/ubuntu :
apt install mysql-client
Création d'une sauvegarde
Ensuite vous n'avez plus qu'à lancer cette commande pour effectuer la sauvegarde :
mysqldump -h [db_hostname] -u [db_user] -p[db_passwd] --all-databases | s3cmd put - s3://[s3_bucketname]/[mysqldump_filename]
Si vous êtes root, les variables [db_hostname], [db_user] et [db_passwd] ne sont pas nécessaires.
Par exemple, pour nous avec un bucket testmariadb :
mysqldump --all-databases | s3cmd put - s3://testmariadb/db_$(date +"%m-%d-%Y_%H-%M-%S")
Vous pouvez vous assurer que tout est opérationnel avec un ls:
# s3cmd ls s3://testmariadb
2023-05-14 13:49 2525083 s3://testmariadb/05-14-2023_15-49-13
Vous devriez voir vos sauvegardes.
Automatisation des sauvegardes avec Cronjob
Il est possible d'automatiser cette tâche en utilisant un "cronjob".
Voici un exemple de "cronjob" pour sauvegarder vos bases de données à 1 heure du matin tous les jours :
0 1 * * * mysqldump --all-databases | s3cmd put - s3://testmariadb/db_$(date +"%m-%d-%Y_%H-%M-%S")
Restauration d'une sauvegarde
Pour restaurer votre base de données, il vous suffit de faire l'opération inverse.
Commencez par récupérer votre sauvegarde :
s3cmd get s3://testmariadb/db_05-14-2023_15-58-10
Ensuite utilisez la commande "mysql" avec votre sauvegarde pour effectuer la restauration.
mysql < db_05-14-2023_15-58-10
Vous devriez retrouver votre base de données telle qu'elle était au moment de la sauvegarde.
Mis à jour le : 15/11/2024
Merci !