Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
serveurs:installation:bkp-srv:pre-prod-data [2023/10/10 10:09] – [Procédure d'utilisation des scripts d'intégration] jpmilcent | serveurs:installation:bkp-srv:pre-prod-data [2023/10/13 13:09] (Version actuelle) – [Procédure d'utilisation des scripts d'intégration] jpmilcent |
---|
| |
===== Mise en place des scripts ===== | ===== Mise en place des scripts ===== |
| * Configurer le script //import_parser// en suivant la doc d'installation présente dans le fichier README.md : ''vi import-parser/README.md'' |
| * Modifier le fichier de configuration partagé : ''vi shared/config/settings.ini'' |
| |
| ===== Configuration machine locale ===== |
| * Ajouter une ligne dans son fichier ///etc/hosts// contenant l'alias du serveur et son IP. Ex. : ''57.128.162.43 bkp-paca-sinp'' |
| * Ajouter une entrée dans son fichier //~/.ssh/config// pour indiquer le port SSH spécifique au serveur hébergeant la pré-prod : <code> |
| Host bkp-paca-sinp |
| Port <port-ssh-bkp-srv> |
| </code> |
| * Ajouter sa clé publique dans le fichier //~/.ssh/authorized_keys// de l'utilisateur hébergeant la pré-prod. Ex : <code bash>ssh-copy-id geonat@bkp-paca-sinp</code> |
| |
===== Procédure d'utilisation des scripts d'intégration ===== | ===== Procédure d'utilisation des scripts d'intégration ===== |
* Au préalable, il est nécessaire de préparer un fichier //.tar.bz2// contenant un dossier au format : ''<date-yyyy-mm-dd>_sinp_paca_<nom-organisme>'' ex. : ''2023-10-04_sinp_paca_cenpaca/'' | * Au préalable, il est nécessaire de préparer un fichier //.tar.bz2// au format : ''<date-yyyy-mm-dd>_sinp_paca_<nom-organisme>'' contenant les fichiers csv et ini. Ex. : ''2023-10-04_sinp_paca_cenpaca/'' |
* Créer en local, un dossier au format précédent | * Créer en local, un dossier au format ''<date-yyyy-mm-dd>_sinp_paca_<nom-organisme>/'' |
* Placer dans le dossier l'ensemble des fichiers //.csv// [[database:import-formats|au format d'échange]] à transmettre ainsi qu'un fichier //meta_archive.ini// | * Placer dans le dossier l'ensemble des fichiers //.csv// [[database:import-formats|au format d'échange]] à transmettre ainsi qu'un fichier //meta_archive.ini// |
* Ouvrir un terminal, se placer vous dans le dossier créé et utiliser la commande suivante pour créer l'archive : <code bash>tar ../2023-10-04_sinp_paca_cenpaca.tar.bz2 . </code> (attention à la présence du point final) | * Ouvrir un terminal, placez vous dans le dossier créé et utilisez la commande suivante pour créer l'archive : <code bash>tar ../2023-10-04_sinp_paca_cenpaca.tar.bz2 . </code> (attention à la présence du point final) |
* Utiliser ensuite Filezilla (ou autre logiciel de SFTP) pour stocker le fichier //.tar.bz2// sur l'espace SFTP du SINP dans le dossier correspondant à l'organisme concerné. | * Utiliser ensuite Filezilla (ou autre logiciel de SFTP) pour stocker le fichier //.tar.bz2// sur l'espace SFTP du SINP dans le dossier correspondant à l'organisme concerné. |
* Se connecter sur le serveur de pré-production avec l'utilisateur //geonat// : <code bash>ssh geonat@bkp-<region>-sinp</code> | * Se connecter sur le serveur de pré-production avec l'utilisateur //geonat// : <code bash>ssh geonat@bkp-<region>-sinp</code> |
* Se rendre dans le dossier correspondant à l'organisme pour lequel nous voulons intégrer les données. Ex. CEN PACA : <code bash>cd ~/data/cenpaca/</code> | * Se rendre dans le dossier correspondant à l'organisme pour lequel nous voulons intégrer les données. Ex. CEN PACA : <code bash>cd ~/data/cenpaca/</code> |
* Éditer le fichier config/settings.ini pour y modifier la date de l'archive à prendre en compte : <code bash>vi config/seettings.ini</code> | * Éditer le fichier config/settings.ini pour y modifier la date de l'archive à prendre en compte : <code bash>vi config/settings.ini</code> |
* Modifier le paramètre //cp_import_date// pour la nouvelle date : ''cp_import_date="2024-10-04"'' | * Modifier le paramètre //<...>_import_date// pour la nouvelle date. Ex. : ''cp_import_date="2023-10-04"'' |
* Vider le dossier data/raw/ de tous les fichiers .csv et .ini d'une éventuelle intégration précédente : <code bash>rm data/raw/*.{csv,ini}</code> | * Vider le dossier data/raw/ de tous les fichiers .csv et .ini d'une éventuelle intégration précédente : <code bash>rm data/raw/*.{csv,ini}</code> |
* Lancer le script d'intégration : <code bash>./bin/import_update.sh -v</code> | * Lancer le script d'intégration : <code bash>./bin/import_update.sh -v</code> |
* télécharger depuis le dépôt SFTP l'archive et la place dans le dossier ''data/raw/'' | * télécharger depuis le dépôt SFTP l'archive et la place dans le dossier ''data/raw/'' |
* décompresser l'archive dans le dossier ''data/raw/'' | * décompresser l'archive dans le dossier ''data/raw/'' |
* intégrer les données (ajout, modification, suppression) [[database:import-formats#principe_de_la_procedure_de_mise_a_jour| dans l'ordre indiqué dans la format d'échange]] | * intégrer les données (ajout, modification, suppression) [[database:import-formats#principe_de_la_procedure_de_mise_a_jour| dans l'ordre indiqué dans la format d'échange]] à l'aide de script SQL. |
* Les logs du script s'affiche à l'écran mais sont aussi stocké dans un fichier //.log// au format ''<yyyy-mm-dd>_imports.log'' présent dans : ''var/log/'' | * Les logs du script s'affiche à l'écran mais sont aussi stocké dans un fichier //.log// au format ''<yyyy-mm-dd>_imports.log'' présent dans : ''var/log/'' |
* | * Surveiller l'exécution du script et l'apparition éventuelle d'un ROLLBACK. Dans ce cas là, arrêter l'execution du script à l'aide de CTRL+C et consulter les logs pour déterminer l'origine du problème. Il est souvent nécessaire de corriger les fichiers csv fournis pour corriger le problème. |
| * Pour relancer le script suite à sa première exécution, vous pouvez utiliser la commande suivante qui se charge de supprimer les fichiers //*_rti.csv// préalablement créés et de réinitialiser l'affichage de la console : <code bash>reset; rm -f data/raw/*_rti.csv; ./bin/import_update.sh -v </code> |