Ceci est une ancienne révision du document !
Import des données de test
Récupération du dépôt "data"
- En local, sur votre machine, récupérer le dépôt Github "sinp-paca-data" :
git clone git@github.com:cbn-alpin/sinp-paca-data.git
- Suivre les éventuelles étapes indiquées dans les fichiers README.md (CBNA) et README.md (CEN-PACA)
- Sur le serveur, sauvegarder le dossier "data" : voir ci-dessous
- Se placer à la racine du dossier sinp-paca-data
- Transférer les scripts :
rsync -av --copy-unsafe-links --exclude var --exclude .git --exclude .editorconfig --exclude .vscode --exclude .gitignore --exclude settings.ini --exclude "data/raw/*" --exclude venv ./ geonat@db-paca-sinp:~/data/ --dry-run
- Supprimer l'option
--dry-run
si tout semble ok pour effectuer le transfert réel
- Se connecter au serveur
- Créer les fichiers settings.ini à partir des fichiers settings.sample.ini pour : cbna, cenpaca et shared
- Préparer l'environnement du script import-parser en suivant les indications du fichier README.md (import-parser)
- Notes : il est nécessaire de redonner les droits d'execution à GCC pour tout le monde si l'on veut pouvoir installer correctement le venv avec
sudo chmod o+x /usr/bin/gcc
. Une fois l'installation terminée, retirer les à nouveau avecchmod o-x /usr/bin/gcc
.
- Notes : les données brutes nécessaires aux scripts sont automatiquement téléchargées depuis Dropbox
Sauvegarde du dossier "data"
- Se connecter à l'utilisateur "admin" sur le serveur :
ssh geonat@db-paca-sinp
- Créer le dossier de sauvegarde :
mkdir -p backups/data
- Sauvegarder le dossier "data" :
mv data backups/data/$(date +%F)
- Recréer le dossier "data" vide :
mkdir data
Commande Screen
- Le script d'import peut prendre plusieurs heures pour s'éxecuter. Afin de pouvoir revenir sur l'état du script, nous allons utiliser la commande
screen
. Elle permet de créer un session qui peut être récupéré à tout moment. - Principe générale d'utilisation de
Screen
:- Pour lancer une nouvelle session :
screen -S <nom-de-la-session>
- Lancer la commande/script désiré
- Utiliser les séquences de touches suivante pour se détacher de la session :
Ctrl-a + Ctrl-d
- Pour voir la liste des sessions en cours :
screen -ls
- Le numéro de session correspond au nombre présent devant ".pts-0"
- Pour se connecter à nouveau à une session :
screen -r <numero-session>
- Autres commandes :
- Détacher une session toujours attaché pour s'y attacher à nouveau :
screen -D <numero-session>.<nom-session>
- Quitter et supprimer une session en cours :
CTRL+a
et:quit
Exécution du script d'import dans GeoNature module Synthèse
- Se connecter au serveur "db" en tant qu'admin :
ssh geonat@db-paca-sinp
- Se placer dans le dossier ~/data/cbna/ de l'utilisateur geonat :
cd ~/data/cbna
- Créer le fichier de configuration :
cp config/settings.sample.ini config/settings.ini
- Modifier le fichier settings.ini en fonction de l'installation locale :
vi config/settings.ini
- Lancer une session détachable :
screen -S import-cbna
- Lancer le script :
cd bin/ ; ./import_initial.sh -v
- Voir ci-dessus les commandes à utiliser pour quitter puis se reconnecter à une session
- Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
Mise à jour des données GeoNature Atlas
- Au préalable, ajouter une authentification HTTP au site nature.silene.eu, le temps des tests avant mise en prod.
- Se connecter au serveur :
ssh admin@<sinp-db>
- Lancer une session détachable :
screen -S import-cbna
- Lancer la commande :
psql
- Sélectionner la base de l'atlas :
\c gnatlas
- Exécuter les requête suivante suivant le besoin
- Pour mettre à jour uniquement les données d'observation (table synthese) :
SELECT atlas.refresh_materialized_view_data() ;
- Si le territoire du SINP à changé et qu'il faut remettre à jour le référentiel géographique :
SELECT atlas.refresh_materialized_view_ref_geo()
Exécution du script d'import des images de l'INPN
- Se connecter sur le serveur :
ssh geonat@sinp-<region>-web
- Se placer dans le dossier du script dans TaxHub :
cd ~/www/taxhub/data/scripts/import_inpn_media
- Créer un environnement virtuel :
python3 -m venv venv
- Activer l'environnement virtuel :
source venv/bin/activate
- Redonner les droits d’exécution à GCC pour tout le monde si l'on veut pouvoir installer correctement les paquets Python dans le venv :
sudo chmod o+x /usr/bin/gcc
- Installer les paquets suivant :
pip install psycopg2 requests
- Retirer les droits d’exécution à GCC pour tout le monde :
chmod o-x /usr/bin/gcc
. - Créer le fichier de configuration :
cp config.py.sample config.py
- Modifier le paramètre
SQLALCHEMY_DATABASE_URI
- Lancer le script :
python import_inpn_media.py
- Si tout c'est bien passé, désactiver l'environnement virtuel :
deactivate