Différences entre versions de « Sauvegarder mes bases de données MariaDB sous Veeam »
(9 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 14 : | Ligne 14 : | ||
<pre> | <pre> | ||
− | wget https://dev.mysql.com/get/mysql-apt-config_0.8. | + | wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb |
− | dpkg -i mysql-apt-config_0.8. | + | dpkg -i mysql-apt-config_0.8.29-1_all.deb |
</pre> | </pre> | ||
Ligne 21 : | Ligne 21 : | ||
<pre> | <pre> | ||
− | apt install libmysqlclient21 mydumper | + | apt-get update && apt install libmysqlclient21 mydumper |
</pre> | </pre> | ||
Ligne 80 : | Ligne 80 : | ||
<pre> | <pre> | ||
− | dos2unix /etc/veeamma/job_scripts/ | + | dos2unix /etc/veeamma/job_scripts/*/* |
− | |||
</pre> | </pre> | ||
− | Pour la restauration, c'est très simple, il faudra monter votre backup sur votre agent, comme pour de la [https://fr-wiki.ikoula.com/fr/Restauration_de_fichiers_sur_une_machine_Linux_via_Veeam_(VSPC) restauration de fichiers]. | + | Pour la restauration, c'est très simple, il faudra monter votre backup sur votre agent [https://fr-wiki.ikoula.com/fr/Restauration_de_fichiers_sur_une_machine_Linux_via_Veeam Procédure], comme pour de la [https://fr-wiki.ikoula.com/fr/Restauration_de_fichiers_sur_une_machine_Linux_via_Veeam_(VSPC) restauration de fichiers]. |
Vous retrouverez les dumps dans <b>/mnt/backup/root/IkoulaRelease/backup_mariadb_temp/</b>, pour restaurer ma base wordpress_test par exemple: | Vous retrouverez les dumps dans <b>/mnt/backup/root/IkoulaRelease/backup_mariadb_temp/</b>, pour restaurer ma base wordpress_test par exemple: | ||
Ligne 92 : | Ligne 91 : | ||
<pre> | <pre> | ||
myloader -h localhost -u wordpress -p XXXXXX -B wordpress_test -t 2 -C -d /mnt/backup/root/IkoulaRelease/backup_mariadb_temp/wordpress_test -v 3 | myloader -h localhost -u wordpress -p XXXXXX -B wordpress_test -t 2 -C -d /mnt/backup/root/IkoulaRelease/backup_mariadb_temp/wordpress_test -v 3 | ||
+ | </pre> | ||
+ | |||
+ | == Via Veeam Agent Linux == | ||
+ | |||
+ | Exemple: | ||
+ | |||
+ | <pre> | ||
+ | # avec mot de passe aléatoire | ||
+ | PASSWORD="$(cat /dev/random | tr -dc '[:alnum:]' | head -c 20)" | ||
+ | JOB_NAME="15j, 5s, 1m full et mariadb" | ||
+ | |||
+ | wget -O /root/IkoulaRelease/scripts/veeam_mariadb_pre.sh https://mirror.ikoula.com/pub/veeam/veeam_mariadb_pre.sh | ||
+ | wget -O /root/IkoulaRelease/scripts/veeam_mariadb_post.sh https://mirror.ikoula.com/pub/veeam/veeam_mariadb_post.sh | ||
+ | chmod +x /root/IkoulaRelease/scripts/veeam_mariadb_pre.sh | ||
+ | chmod +x /root/IkoulaRelease/scripts/veeam_mariadb_post.sh | ||
+ | |||
+ | mysql -e "create user 'veeam_backup'@'localhost' identified by '${PASSWORD}';" | ||
+ | mysql -e "grant select,reload,lock tables,replication client on *.* to 'veeam_backup'@'localhost';" | ||
+ | |||
+ | sed -i "s/XXXXXXXXXXX/$PASSWORD/g" /root/IkoulaRelease/scripts/veeam_mariadb_pre.sh | ||
+ | |||
+ | wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb | ||
+ | DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.29-1_all.deb | ||
+ | apt-get update && apt install libmysqlclient21 mydumper | ||
+ | |||
+ | veeamconfig job create volumeLevel --backupAllSystem --name "$JOB_NAME" --reponame "$(veeamconfig repository list | tail -n 1 | awk -F'{' '{print $1}' | sed 's/ *$//')" \ | ||
+ | --daily --at "03:00" --weekdays-full "Sun" --maxpoints "15" --indexall --blocksize "256" \ | ||
+ | --prefreeze "/root/IkoulaRelease/scripts/veeam_mariadb_pre.sh" --postthaw "/root/IkoulaRelease/scripts/veeam_mariadb_post.sh" | ||
+ | |||
+ | veeamconfig gfs set --jobname "$JOB_NAME" weekly --on "Sunday" --keep 5 | ||
+ | veeamconfig gfs set --jobname "$JOB_NAME" monthly --on "First" --keep 1 | ||
+ | veeamconfig aap set mysql --jobname "$JOB_NAME" --usrmysqldb "veeam_backup" --password "$PASSWORD" | ||
+ | |||
+ | #Pour modifier un job existant: | ||
+ | JOB_NAME=$(veeamconfig job list | cut -d'{' -f1 | tail -1 | sed 's/ *$//') | ||
+ | veeamconfig aap set mysql --jobname "$JOB_NAME" --usrmysqldb "veeam_backup" --password "$PASSWORD" | ||
+ | veeamconfig job edit volumeLevel --prefreeze "/root/IkoulaRelease/scripts/veeam_mariadb_pre.sh" --postthaw "/root/IkoulaRelease/scripts/veeam_mariadb_post.sh" for --name "$JOB_NAME" | ||
+ | |||
</pre> | </pre> | ||
Version actuelle datée du 28 octobre 2024 à 18:45
Introduction
Nous verrons dans cet article comment sauvegarder mes bases de données MariaDB sur Veeam
Pré-requis
Il faut assez d'espace sur votre agent pour accueillir de manière temporaire une copie de vos bases de données.
Déroulé
Sur mon agent, je vais dans un premier temps, installer les repos MySQL:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb dpkg -i mysql-apt-config_0.8.29-1_all.deb
Ensuite je vais installer les dépendances nécessaires:
apt-get update && apt install libmysqlclient21 mydumper
Je vais créer un utilisateur MariaDB permettant de sauvegarder mes bases de données:
create user 'veeam_backup'@'localhost' identified by '<PASSWORD>'; grant select,reload,lock tables,replication client on *.* to 'veeam_backup'@'localhost';
Je télécharge les 2 scripts suivants sur mon poste:
https://mirror.ikoula.com/pub/veeam/veeam_mariadb_pre.sh
https://mirror.ikoula.com/pub/veeam/veeam_mariadb_post.sh
Je modifie le mot de passe de mon utilisateur veeam_backup au niveau du script veeam_mariadb_pre.sh.
Au niveau du job de mon agent sur la VSPC, dans la partie Guest Processing, j'active l'éxecution de script:
En cliquant sur Customize scripts settings, j'ajoute les scripts que j'ai téléchargé sur mon poste en pre-freeze et post-thraw:
Je reviens sur la fenêtre précédente et je clique sur Customize application handling options...:
Je rentre les identifiants de mon utilisateur MariaDB.
La configuration du job est terminée.
Il peut y avoir un souci d'interprétation des caractères du fait d'upload les scripts via un poste windows, pour cela il faut installer dos2unix sur votre serveur:
apt-get install dos2unix
Puis convertir les 2 scripts:
dos2unix /etc/veeamma/job_scripts/*/*
Pour la restauration, c'est très simple, il faudra monter votre backup sur votre agent Procédure, comme pour de la restauration de fichiers.
Vous retrouverez les dumps dans /mnt/backup/root/IkoulaRelease/backup_mariadb_temp/, pour restaurer ma base wordpress_test par exemple:
myloader -h localhost -u wordpress -p XXXXXX -B wordpress_test -t 2 -C -d /mnt/backup/root/IkoulaRelease/backup_mariadb_temp/wordpress_test -v 3
Via Veeam Agent Linux
Exemple:
# avec mot de passe aléatoire PASSWORD="$(cat /dev/random | tr -dc '[:alnum:]' | head -c 20)" JOB_NAME="15j, 5s, 1m full et mariadb" wget -O /root/IkoulaRelease/scripts/veeam_mariadb_pre.sh https://mirror.ikoula.com/pub/veeam/veeam_mariadb_pre.sh wget -O /root/IkoulaRelease/scripts/veeam_mariadb_post.sh https://mirror.ikoula.com/pub/veeam/veeam_mariadb_post.sh chmod +x /root/IkoulaRelease/scripts/veeam_mariadb_pre.sh chmod +x /root/IkoulaRelease/scripts/veeam_mariadb_post.sh mysql -e "create user 'veeam_backup'@'localhost' identified by '${PASSWORD}';" mysql -e "grant select,reload,lock tables,replication client on *.* to 'veeam_backup'@'localhost';" sed -i "s/XXXXXXXXXXX/$PASSWORD/g" /root/IkoulaRelease/scripts/veeam_mariadb_pre.sh wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.29-1_all.deb apt-get update && apt install libmysqlclient21 mydumper veeamconfig job create volumeLevel --backupAllSystem --name "$JOB_NAME" --reponame "$(veeamconfig repository list | tail -n 1 | awk -F'{' '{print $1}' | sed 's/ *$//')" \ --daily --at "03:00" --weekdays-full "Sun" --maxpoints "15" --indexall --blocksize "256" \ --prefreeze "/root/IkoulaRelease/scripts/veeam_mariadb_pre.sh" --postthaw "/root/IkoulaRelease/scripts/veeam_mariadb_post.sh" veeamconfig gfs set --jobname "$JOB_NAME" weekly --on "Sunday" --keep 5 veeamconfig gfs set --jobname "$JOB_NAME" monthly --on "First" --keep 1 veeamconfig aap set mysql --jobname "$JOB_NAME" --usrmysqldb "veeam_backup" --password "$PASSWORD" #Pour modifier un job existant: JOB_NAME=$(veeamconfig job list | cut -d'{' -f1 | tail -1 | sed 's/ *$//') veeamconfig aap set mysql --jobname "$JOB_NAME" --usrmysqldb "veeam_backup" --password "$PASSWORD" veeamconfig job edit volumeLevel --prefreeze "/root/IkoulaRelease/scripts/veeam_mariadb_pre.sh" --postthaw "/root/IkoulaRelease/scripts/veeam_mariadb_post.sh" for --name "$JOB_NAME"
Conclusion
Vous pourrez retrouver d'autres articles sur Veeam dans notre catégorie Veeam
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires