Article original Publié le : 29 aout 2021 Mise a jour le : |
Pour extraire des logs d’un cluster de machine
Le nom du fichier de log est égale a la machine et au répertoire, l’horodatage est nécessaire pour l’archivage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
#!/bin/bash #################################### ## EXEMPLE DE SCRIPT EXTRACT LOGS # # comprend une arborescence # # YYYY-MM puis YYYY-MM-DD # #################################### # Variable PRODUIT=nom_application MACHINE=nom_application M1=01 M2=02 M2=03 REP_LOCAL=logs/logs_"$MACHINE" REP_RESEAU=/mnt/log/$MACHINE/ # Suppression des anciens répertoires en local et récréation de l'arborescence rm $REP_LOCAL -rf mkdir -p $REP_LOCAL/{"$MACHINE$M1","$MACHINE$M2","$MACHINE$M3"} # Extract des logs echo echo "Extract de logs sur les machines $PRODUIT et archivage" echo PS3='--> ' LISTE=("Presser [1] pour les logs du jour" "Presser [2] pour les logs archivés") select CHOIX in "${LISTE[@]}" ; do case $REPLY in 1|1) scp -P22 $MACHINE$M1:/var/log/$MACHINE/$MACHINE.log $REP_LOCAL/"$MACHINE$M1" scp -P22 $MACHINE$M2:/var/log/$MACHINE/$MACHINE.log $REP_LOCAL/"$MACHINE$M2" scp -P22 $MACHINE$M3:/var/log/$MACHINE/$MACHINE.log $REP_LOCAL/"$MACHINE$M3" # Archivage en local zip -r $PRODUIT-$DATE.zip $REP_LOCAL # Déplacement sur un point de montage # sudo mv $PRODUIT-$DATE.zip $REP_RESEAU echo echo "Extract terminé, le fichier $PRODUIT-$DATE.zip se trouve dans le répertoire logs." echo break ;; 2|2) echo "Afficher la date du mois de l'archive sous la forme (YYYY-MM) 2021-02" read reponse echo "Afficher la date de l'archive sous la forme (YYYY-MM-DD) 2021-02-15" read reponse2 scp -P22 $MACHINE$M1:/var/log/$MACHINE/archives/$reponse/*$reponse2*.log.gz $REP_LOCAL/"$MACHINE$M1" scp -P22 $MACHINE$M2:/var/log/$MACHINE/archives/$reponse/*$reponse2*.log.gz $REP_LOCAL/"$MACHINE$M2" scp -P22 $MACHINE$M3:/var/log/$MACHINE/archives/$reponse/*$reponse2*.log.gz $REP_LOCAL/"$MACHINE$M3" # Archivage en local zip -r $PRODUIT-archive-$reponse2.zip $REP_LOCAL # Déplacement sur un point de montage # sudo mv $PRODUIT-archive-$reponse2.zip $REP_RESEAU echo echo "Extract terminé, le fichier $PRODUIT-$reponse2.zip se trouve dans le répertoire logs." echo break ;; esac done |