Sauvegarde et récupération

Sauvegarde

La sauvegarde dans beCPG est entièrement automatisée via un daemon (programme tournant constamment sur le système).

La sauvegarde inclut :

  • Une sauvegarde de l’index de recherche.
  • Une sauvegarde des données des Bases de données.
  • Une sauvegarde des contenus et des réglages des données.

L’ordre de la sauvegarde est important. Par défaut, l’ordre est garanti par les scripts beCPG et est exécuté dans cet ordre :

  • 00:00 Mise à jour des statistiques (Cube OLAP)
  • 03:00 Sauvegarde des indexes de recherches
  • 03:30 Sauvegarde des bases de données
  • 04:00 Sauvegarde des données et de la configuration

Toutes les données sont sauvegardées sur le disque de données /mnt/becpg-data (/dev/sdb). Il est important de sauvegarder ce disque une fois par jour vers 5h du matin à l'aide de votre hyperviseur. Dans la suite de ce document $BACKUP_DIR correspond à cette sauvegarde une fois remonter sur la machine.

Récupération des données

La récupération du système est réalisée système éteint.

Arrêter le service

Sur le serveur beCPG :

docker stop inst1_becpg_1
docker stop inst1_solr_1

Copie des fichiers

Sur le serveur beCPG :

mv /var/lib/docker/volumes/inst1_becpg_data /var/lib/docker/volumes/inst1_becpg_data_old
cp $BACKUP_DIR/docker/volumes/inst1_becpg_data /var/lib/docker/volumes/

En utilisant rsync :

rsync -P --exclude 'solr4Backup' --exclude 'lucene-indexes' \
  --exclude 'backup-lucene-indexes' --exclude 'keystore' \
  -r -a --delete -v $BACKUP_DIR/docker/volumes/inst1_becpg_data/_data/ /var/lib/docker/volumes/inst1_becpg_data/_data/

Récupération des bases de données MySQL

Les sauvegardes MySQL sont situées sous :

$BACKUP_DIR/docker/volumes/inst1_becpg_backups/_data/:

  • becpg-db
  • olap-db

Sélectionnez la sauvegarde que vous voulez restaurer et décompressez la sauvegarde.

gunzip db_18_01_17.gz
gunzip becpg_olap_18_01_17.gz

Importer d'anciennes bases de données vers MySQL:

Pour la base de données principale:

echo "DROP DATABASE db;" | docker exec -i inst1_becpg-db_1 mysql -u root -pbecpg
echo "CREATE DATABASE db DEFAULT CHARACTER SET utf8 COLLATE  utf8_unicode_ci;" \
| docker exec -i inst1_becpg-db_1 mysql -u root -pbecpg
docker exec -i inst1_becpg-db_1 mysql -u root -pbecpg db < db_18_01_17

Pour la base de données Olap :

echo "DROP DATABASE becpg_olap;" | docker exec -i inst1_olap-db_1 mysql -u root -pbecpg
echo "CREATE DATABASE becpg_olap DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;" \
| docker exec -i inst1_olap-db_1 mysql -u root -pbecpg
docker exec -i inst1_olap-db_1 mysql -u root -pbecpg becpg_olap < becpg_olap_18_01_17

Redémarrer le service

cd /opt/becpg-srv-instances/inst1
docker-compose -f docker-compose.yml -f docker-compose.prod.yml restart

Remarques:

Il est important de garder une sauvegarde de la Machine Virtuelle configurée. Cette documentation ne couvre pas la récupération ou l’installation de la Machine Virtuelle.

results matching ""

    No results matching ""