Pages : 1
#1 Le 09/01/2015, à 18:21
- Sylvainremi
Nombre d'erreur 400
Salut a tous je cherche a répertorié le pourcentage d'erreur 400 dans mes fichiers logs apache
De ce fait j'ai crée un petit script:
#!/bin/bash
sed -n '$=' pictures.log >> total.txt #le nombre de ligne totale du fichier log#
grep "400" pictures.log | sed -n '$=' >> err400.txt #le nombre de ligne comprenant l’erreur 400#
cat total.txt err400.txt > pourcentage.txt #le nombre totale et le nombre de d'erreur 400#
rm -Rf total.txt err400.txt #suppression des deux anciens fichiers
sed -e '2d' pourcentage.txt * sed -e '1d' pourcentage.txt #? récupération des données a la ligne 1 et 2 ?#
??
??
exit 0
Je suis bloqué apres avoir obtenu le totale de ligne et le nombre de ligned avec l'erreur 400;
je ne sais pas quelles commandes et comment utilisé ces chiffres pour créer un pourcentage
un peu d'aide serais le bienvenu
Merci d'avance et bon weekend
Hors ligne
#2 Le 09/01/2015, à 20:40
- tiramiseb
Re : Nombre d'erreur 400
Salut,
Ton grep n'est pas top top, s'il y a le nombre "400" dans le nom d'un fichier et qu'il y a un code 200, bah ce sera un faux positif.
Autre chose : ta façon de compter les lignes est un peu bizarre...
Voici un script qui me semble répondre à ton besoin :
#!/bin/sh
LOGFILE="pictures.log"
# La commande "wc" ("word count") avec l'option "-l" ("lines") compte les lignes ; "cut" permet de ne conserver que le nombre
total=$(wc -l "$LOGFILE" | cut -d" " -f1)
# Un grep un peu compliqué pour être sûr qu'on vérifie le 6me champ pour le code 400, l'option "-c" retourne le compte de lignes
err400=$(grep -c '[^ ]* [^ ]* [^ ]* \[[^]]*\] "[^"]*" 400' "$LOGFILE")
# Et on utilise bc pour calculer le pourcentage, avec une précision de 2 décimales
echo "scale=2;100*$err400/$total" | bc -l
... et en version super-short histoire de montrer comment qu'c'est simple
#!/bin/sh
total=$(wc -l pictures.log | cut -d" " -f1)
err400=$(grep -c '[^ ]* [^ ]* [^ ]* \[[^]]*\] "[^"]*" 400' pictures.log)
echo "scale=2;100*$err400/$total" | bc -l
PS : mets les contenus de fichiers entre balises "code", obtenues en cliquant sur l'icône.
Dernière modification par tiramiseb (Le 09/01/2015, à 20:41)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 10/01/2015, à 00:14
- Sylvainremi
Re : Nombre d'erreur 400
Merci beaucoup pour le script et surtout les explications des commandes ainsi que la manière de définir une variable je me sentais perdu
Merci encore d'avoir pris le temps
Hors ligne
Pages : 1