Versuche dies. Ich habe es mit einer lokalen Datei getestet, kann aber nicht sagen, ob es mit allen Konfigurationen/Gebietsschemata/...
funktioniertcat apache.log | perl -e 'my $sum=0; while(<>) { my ($traffic) = m/\[.+\] ".+" \d+ (\d+)/; $sum += $traffic}; print "$sum\n"'
Aktualisierung Januar 2017: Inzwischen habe ich etwas mehr Perl gelernt und so würde ich es heute machen:
cat apache.log | perl -nE '/\[.+\] ".+" \d+ (\d+)/; $sum += $1; END {say $sum}'
Eine detaillierte Protokolldateiüberwachung und tatsächliche Bandbreitennutzung finden Sie unter AWStats.
Es verwendet die Apache-Protokolldatei als Eingabe und gibt Ihnen eine sehr detaillierte Analyse der Besucher und der Bandbreite mit Diagrammen.
Sie können auch GoAccess ausprobieren.
Apache Access Log – Globale Bandbreitennutzung :
awk '{ s += $10 } END { print "Total ", s/1024/1024 " Mo", "- Moyenne ", s/NR/1024/1024 " Mo", "- Accès ", NR }' access.log
Und für eine Datei:
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 }'
Sie erhalten so etwas: Gesamt 301.985 Mo - Moyenne 0.0430055 Mo - Accès 7022