Sauvegarde BDD et redéploiment

Dans cette section nous aborderons la stratégie de sauvegarde ainsi que le déploiment de la BDD

Configuration .profile
nano /root/.profile ajoutez la ligne export de la manière suivante : export PATH=$PATH:$HOME/bin if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi mesg n
 * 1) ~/.profile: executed by Bourne-compatible login shells.

Sauvegarde
cd /root mkdir bin mkdir dumps mkdir logs nano /root/bin/mongosave Celle ci est automatisée par l'intermédiaire d'un scrypt mis à notre disposition par R.G : ADMINPATH=/root MONGODBNAME=******* MONGO_USER=***** MONGO_PASS=**** HOSTNAME=*****nom du FTP**** USERNAME=****** PASSWORD=******* REMOTE_DUMP_PATH=./dumps/ DAY=`/bin/date +%Y%m%d_%H%M%S` HEURE=`/bin/date +%T` LOG_FILE=/root/logs/dump_$DAY.log echo $HEURE "DEBUT DE LA SAUVEGARDE" >> $LOG_FILE echo $HEURE "Suppression des fichiers de plus d un an dans /root/dumps/" >> $LOG_FILE find $ADMINPATH/dumps/ -type f -ctime +365 -exec rm {} \; echo $HEURE "OK" >> $LOG_FILE echo $HEURE "MONGODUMP : mongo_$DAY.tar" >> $LOG_FILE mongodump rs0/localhost:27017 -u$MONGO_USER -p$MONGO_PASS --db $MONGODBNAME --out $ADMINPATH/dumps/mongo_$DAY cd $ADMINPATH/dumps/mongo_$DAY/ echo $HEURE "OK" >> $LOG_FILE echo $HEURE "Archivage du dump" >> $LOG_FILE tar -cvzf "$ADMINPATH/dumps/mongo_$DAY.tar" $MONGODBNAME/ echo $HEURE "OK" >> $LOG_FILE echo $HEURE "Suppression du dossier de dump" >> $LOG_FILE cd $ADMINPATH rm -rf $ADMINPATH/dumps/mongo_$DAY echo $HEURE "OK" >> $LOG_FILE echo $HEURE "Début Envoi FTP" >> $LOG_FILE ftp -n $HOSTNAME << EOF quote USER $USERNAME quote PASS $PASSWORD binary cd $REMOTE_DUMP_PATH lcd $ADMINPATH/dumps/ put mongo_$DAY.tar quit EOF echo $HEURE "Fin Envoi FTP" >> $LOG_FILE echo $HEURE "THE END" >> $LOG_FILE après avoir sauvegardé modifiez les droit d'exécution du fichier de la manière suivante: chmod +x mongosave
 * 1) !/bin/sh
 * 1) Variables
 * 1) Variables ftp
 * 1) Autres
 * 1) On fait le menage en local
 * 1) Dump de la base
 * 1) Archivage du dump
 * 1) Suppression du dossier de dump
 * 1) On envois le tar en FTP
 * 1) Scrypted by R.G

Ajout du fichier mongosave dans cron.d
nano /etc/cron.d/mongosave puis inscrire la ligne suivante : 59 23 * * * root /root/bin/mongosave > /dev/null 2>&1 sauvegardez

Sauvegarde en ligne de commande
Après s'être placé dans un dossier réservé à cet effet : mongodump --db nomDeLaBaseASauvegarder cette commande va créer un nouveau dossier dump/nomDeLaBaseSauvegardée contenant la sauvearde de tous les éléments contenus dans cette base (collections) mais pas les utilisateurs de la base

Compression de la sauvegarde
Après avoir effectué la sauvegarde dans le dossier réservé à cet effet : cd dump/ tar -cvzf nomFichierDestination.tar nomDossierContenantSauvegarde/

Export de la sauvegarde
dans le dossier ou l'archive a été crée faire : ftp nom.du.ftp Entrez votre nom d'utilisateur puis votre mot de passe

Déplacez vous dans l'arborescence du ftp et une fois dans le bon dossier entrez le type de donnée qui va être exporté : binary puis exportez votre fichier de la manière suivante : put nomDufichierLocal.tar pour se déconnecter du ftp faites simplement : exit

Téléchargement de la sauvegarde
Dans le dossier ou on souhaite télécharger la sauvergarde faire : wget --user=userName --password=userPassword ftp://.../nomDossier/nomFichier.tar

Pour décomprésser l'archive .tar dans le dossier ou il a été télécharger faites : tar -xvf nomFichier.tar Complément d'informations sur les commandes utilisables sur le serveur ftp ici

Restauration de la sauvegarde
Dans le dossier ou l'archive de la sauvegarde a été décompressée faites simplement : mongorestore --db nomBaseDeDonnée nomDuDossierDécompressé/

retour à la configuration de mongoDB

retour au tools & tips du serveur