BASH – Script para mostrar peticiones de logs de apache en rangos (By Alquimista).-

Si es necesario ver en que rangos de horas han habido peticiones al minuto se puede usar este script. Solo funciona en el caso de ser logs de apache.

#!/bin/bash

#Usage
#bash namesript.sh "día" "mes" "año" "log.log"
#example
#bash conectionsDays.sh 2 Nov "access.log"

declare range
declare noRequest

for i in 0{0..9} {10..23}
do
    for j in 0{0..9} {10..59}
    do
        if [[ $(zgrep -c "$1/$2/$3:$i:$j:" $4 ) = 0 ]];then
            noRequest=true
        else
            noRequest=false
        fi

        if [ $noRequest = true ];then
            if [[ -z $range ]];then
                range="$1/$2 $i:$j"
            fi
        else
            if [[ ! -z $range ]];then
                echo $range"- $1/$2 $i:$j"
                range=""
            fi
        fi
    done
done

if [[ ! -z $range ]];then
    echo $range"- $1/$2 23:59"
fi
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *