# Pour trouver la MAC (Wifi ou filaire) d'un adhérent dans les logs idoines
-path=/var/log/freeradius/
-# On ne va pas chercher au même endroit en fonction du serveur
+filename=global
+
+# On râle si on n'est pas sur le bon serveur
case `hostname` in
- gordon|eap)
- filename=radius
- ;;
- radius|sable)
- filename=radius_auth
+ thot)
;;
*)
- echo "Are you kidding me ?"
- exit 1
+ echo -e "\e[0;31mPas sur thot, risque de ne pas marcher.\e[0m"
+ ;;
+esac
+
+case $1 in
+ --filaire)
+ path=/var/log/filaire/
;;
+ --wifi)
+ path=/var/log/wifi/
+ ;;
+ *)
+ echo "Préciser --filaire ou --wifi en premier paramètre."
esac
-# On enlève les ":" de la MAC
-mac=${1//:/.}
+# On remplace les ":" de la MAC par des "."
+# cela permet de parser aa:aa:aa:aa:aa:aa et AA-AA-AA-AA-AA-AA
+mac1=${2//:/.}
+
+# On prévoit aussi de parser le format AAAAAAAAAAAA (certains logs des switchs (tags de VLAN))
+mac2=${2//:/}
+
+# Format AAAAAA-AAAAAA (d'autres logs des switchs)
+mac3="${mac2:0:6}-${mac2:6:6}"
+
+# On merge
+mac="(${mac1}|${mac2}|${mac3})"
# .log et .log.1 ne sont pas compressés
-grep --color -i $mac $path$filename.log
-echo -n ".1 ?"
-read -r
-grep --color -i $mac $path$filename.log.1
+echo grep -E --color -i $mac $path$filename.log
+grep -E --color -i $mac $path$filename.log
# Les suivants sont compressés
-for i in `seq 2 52`
+for i in `seq 1 364`
do
echo -n ".$i ?"
read -r
- zgrep --color -i $mac $path$filename.log.$i.gz
+ zgrep -E --color -i $mac $path$filename.log.$i.gz
done