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.