Mail me my apache.log

Hello world,

today … et très succinctement à l’arrache 🙂 comment envoyer un mini rapport des visites sur son serveur apache par mail …

Etapes 1 : Le script

su -
mkdir ~/bin/
touch ~/bin/CMP_VISIT.sh
chmod 755 ~/bin/CMP_VISIT.sh

Le Code

#!/bin/bash
LANG=fr_FR
LANGUAGE=fr_FR:fr
LC_ADDRESS=fr_FR
LC_IDENTIFICATION=fr_FR
LC_MEASUREMENT=fr_FR
LC_MONETARY=fr_FR
LC_NAME=fr_FR
LC_PAPER=fr_FR
LC_TELEPHONE=fr_FR
DATE=`date  +%d/%h/%Y` 
CMP_UNIQUE=`cat /var/log/apache2/access.log| grep "$DATE" | grep -v "\:\:" | cut -d "-" -f1 | sort -u | wc -l`
CMP_ALL=`cat /var/log/apache2/access.log | grep "$DATE"  | grep -E "php|htm" |grep GET| wc -l `

echo "----------------------------------------------------------"
echo "Compte Rendu visit quotidienne du date : `date +%d/%h/%Y`"
echo "----------------------------------------------------------"
echo -e "\t* Visiteur unique\t:\t$CMP_UNIQUE"
echo -e "\t* Pages Vue\t\t:\t$CMP_ALL"
echo -e ""

Etape 2 : Crontab

su -
crontab -e

Et ajouter les lignes suivantes :

MAILTO=@
#ex : MAILTO=toto@gmail.com
0 18 * * 1-5 /root/bin/CMP_VISIT.sh

Bon pour l’envoie d’email via cron qui s’appuie sur sendmail/mail allez faire un tour sur ssmtp sur google ça vous évitera de faire un serveur de messagerie 🙂