scripts de téléchargements des logs archivés OVH
 
 
Go to file
Julien Fastré dfff219d69
finalizatin for 2023-03
2023-03-17 20:59:36 +01:00
.idea get the list of downloadable files archives in a file 2023-03-17 12:40:39 +01:00
old finalizatin for 2023-03 2023-03-17 20:59:36 +01:00
.env.dist fullfill dotenv 2023-03-17 17:39:11 +01:00
.gitignore script to dowload files 2023-03-17 14:53:43 +01:00
0_list_archives.js script to dowload files 2023-03-17 14:53:43 +01:00
1_download_archives.js script to dowload files 2023-03-17 14:53:43 +01:00
README.md finalizatin for 2023-03 2023-03-17 20:59:36 +01:00
docker-node.sh script to dowload files 2023-03-17 14:53:43 +01:00
package-lock.json parse downloaded logs 2023-03-17 17:38:10 +01:00
package.json parse downloaded logs 2023-03-17 17:38:10 +01:00
parse.bash finalizatin for 2023-03 2023-03-17 20:59:36 +01:00
parsed_to_csv.js finalizatin for 2023-03 2023-03-17 20:59:36 +01:00

README.md

Récupération logs sur OVH archive

  1. Préparer les clés d'api avec https://eu.api.ovh.com/createApp/ (si on utilise l'europe) et introduire ces clés dans un fichier .env (copier .env.dist).
  2. exécuter node 0_list_archives.js pour récuperer tous les liens d'accès dans un fichier (archive.txt, dans .env.dist);
  3. executer node 1_dowload_archives.js pour télécharger

⚠️ ce script n'est pas parfait. Des fichiers corrompus sont téléchargés... Du coup, il faut les télécharger avec d'autre outils (wget ?). Voir ci-dessous.

Une amélioration pourrait être d'écrire un script bash pour tout télécharger, sans async...

  1. exécuter bash parse.bash pour isoler. Il faut modifier l'id du parcours à l'intérieur du fichier
  2. exécuter node parsed_to_csv.js pour transformer en csv
  3. dans le csv, il faut encore supprimer certains parcours non concernés.

Etat: des fichiers sont corrompus au téléchargement

pour les récupérer:

# on exécute et on prend les logs dans un fichier
node 2_parse.js  2&> parsing
# on récupère seulement les fichier en erreur
grep error parsing > parsing_error
# et juste le fichier
awk '{ print $5 }' parsing_error > file_in_error

# on cherche la ligne dans le fichier archives.txt
while read CMD; do
grep $CMD data/archives.txt >> archive_line
done < file_in_error

# on a donc les url de téléchargement
while read L; do wget $(echo $L | jq -r .url); done < archive_line