Zkuste to. Testoval jsem to na místním souboru, ale nemůžu říct, jestli to funguje na všech konfiguracích/locales/...
cat apache.log | perl -e 'my $sum=0; while(<>) { my ($traffic) = m/\[.+\] ".+" \d+ (\d+)/; $sum += $traffic}; print "$sum\n"'
Aktualizace z ledna 2017: Mezitím jsem se naučil trochu víc Perlu a takhle bych to dnes udělal:
cat apache.log | perl -nE '/\[.+\] ".+" \d+ (\d+)/; $sum += $1; END {say $sum}'
Pro podrobné monitorování souboru protokolu a skutečné využití šířky pásma přejděte na AWStats.
Jako vstup bere soubor protokolu Apache a poskytuje vám velmi podrobnou analýzu návštěvníků a šířky pásma s grafy.
Můžete také vyzkoušet GoAccess.
Apache Access Log – globální využití šířky pásma:
awk '{ s += $10 } END { print "Total ", s/1024/1024 " Mo", "- Moyenne ", s/NR/1024/1024 " Mo", "- Accès ", NR }' access.log
A pro soubor:
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 }'
Dostanete něco takového: Celkem 301,985 Po – Moyenne 0,0430055 Po – Accès 7022