vendredi 21 juillet 2006
grep sur des logs apaches pour avoir quelques stats
Par Wizmerhill, vendredi 21 juillet 2006 à 00:53 :: Unix
;! /bin/sh
if (( $# < 1)); then echo "Pas assez d'argument" echo "apachestat.sh countOfDay" exit 1 fi
countOfDay=$1
tmpPath=/tmp/apache2logtest test -d $tmpPath || mkdir $tmpPath rm $tmpPath/*.log* cp /var/log/apache2/access.* $tmpPath cd $tmpPath gzip -d *.gz
echo "#line get by grep $user $tmpPath/all.log | grep $d/$m | grep -v /blog/ecrire/| grep -v /images/ > tmp.log" echo "#get : count of get for current day"; echo "#u-get : IP count which do a get for current day"
for user in "wizmerhill/" "carmine/"; do test -f all.log && rm all.log grep $user $tmpPath/access*.log*| grep -v /images/ | grep -v /blog/ecrire/ > all.log echo $user
i=0
while (($i < $countOfDay))
do
d=`date -R --date "$i days ago" | awk '{print $2"/"$3}'`
grep $user $tmpPath/all.log | grep $d/$m > tmp.log
echo " $d";
echo -n "get "; cat tmp.log | wc -l;
echo -n "u-get "; cat tmp.log | awk '{print $1}'|uniq|wc -l;
echo -n "rss "; cat tmp.log | grep rss.php|wc -l;
echo -n "u-rss "; cat tmp.log | grep rss.php|awk '{print $1}'|uniq|wc -l;
echo -n "n-rss "; cat tmp.log | grep -v rss.php|wc -l;
echo -n "un-rss "; cat tmp.log | grep -v rss.php|awk '{print $1}'|uniq|wc -l;
i=$((i+1));
done
done