Подсчет статистики по ОС по логам apache: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Строка 7: Строка 7:
oscounter() {
oscounter() {
[ -z "${1}" ] && logfile="$(domroot)/logs/access_log" || logfile="${1}"
[ -z "${1}" ] && logfile="$(domroot)/logs/access_log" || logfile="${1}"
[ -x /usr/bin/mawk ] && alias awk='mawk'
[ -x /usr/bin/mawk ] && cmd='mawk' || cmd='awk'


awk '
${cmd} '
/GET/&&/Linux/{lin+=1}
/GET/&&/Linux/{lin+=1}
/GET/&&/Windows/{win+=1}
/GET/&&/Windows/{win+=1}

Версия 17:20, 20 февраля 2009

Функция для подсчета статистики посещений сайта для различных операционных систем по логам веб-сервера apache.

Использование
oscounter access_log

oscounter() {
[ -z "${1}" ] && logfile="$(domroot)/logs/access_log" || logfile="${1}"
[ -x /usr/bin/mawk ] && cmd='mawk' || cmd='awk'

${cmd} '
/GET/&&/Linux/{lin+=1}
/GET/&&/Windows/{win+=1}
/GET/&&/Mac/{mac+=1}
/GET/{all+=1}
END {total=lin+win+mac ; print "Linux:\t\t"lin"\t"lin*100/total" %\nWindows:\t"win"\t"win*100/total" %\nMac OS:\t\t"mac"\t"mac*100/total" %\nTotal:\t\t"lin+win+mac"\nAll hits:\t"all}' "${logfile}"
}