Essaye ça. Je l'ai testé sur un fichier local mais je ne peux pas dire s'il fonctionne sur toutes les configurations/locales/...
cat apache.log | perl -e 'my $sum=0; while(<>) { my ($traffic) = m/\[.+\] ".+" \d+ (\d+)/; $sum += $traffic}; print "$sum\n"'
Mise à jour de janvier 2017 : Entre-temps, j'ai appris un peu plus de Perl et c'est comme ça que je ferais aujourd'hui :
cat apache.log | perl -nE '/\[.+\] ".+" \d+ (\d+)/; $sum += $1; END {say $sum}'
Pour une surveillance détaillée des fichiers journaux et l'utilisation réelle de la bande passante, rendez-vous sur AWStats.
Il prend le fichier journal Apache en entrée et vous donne une analyse très détaillée des visiteurs et de la bande passante, avec des graphiques.
Vous pouvez également essayer GoAccess.
Journal d'accès Apache – Utilisation globale de la bande passante :
awk '{ s += $10 } END { print "Total ", s/1024/1024 " Mo", "- Moyenne ", s/NR/1024/1024 " Mo", "- Accès ", NR }' access.log
Et pour un fichier :
grep NAME_OF_RESOURCE_HERE /var/log/apache2/access.log* | awk '{ s += $10 } END { print "Total ", s/1024/1024 " Mo", "- Moyenne ", s/NR/1024/1024 " Mo", "- Accès ", NR }'
Vous obtenez quelque chose comme ceci : Total 301.985 Mo - Moyenne 0.0430055 Mo - Accès 7022