serveurs:sinp-paca:import-test

Ceci est une ancienne révision du document !


Import des données de test

  • 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 avec chmod o-x /usr/bin/gcc .
  • Notes : les données brutes nécessaires aux scripts sont automatiquement téléchargées depuis Dropbox
  • 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
  • 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 :
    1. Pour lancer une nouvelle session : screen -S <nom-de-la-session>
    2. Lancer la commande/script désiré
    3. Utiliser les séquences de touches suivante pour se détacher de la session : Ctrl-a + Ctrl-d
    4. Pour voir la liste des sessions en cours : screen -ls
      1. Le numéro de session correspond au nombre présent devant ".pts-0"
    5. 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
  • 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
  • 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()
  • 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
  • serveurs/sinp-paca/import-test.1598972421.txt.gz
  • Dernière modification : 2020/09/01 15:00
  • de jpmilcent