У меня был поиск и Google, и я нашел способы контролировать пропускную способность для каждого виртуального хоста.
Что мне нужно, так это способ контролировать исходящую пропускную способность (и в конечном итоге приостановить) подпапок моего корня документа. (У меня cron запускает глобальную проверку пропускной способности).
/srv/www/htdocs/user1files
/srv/www/htdocs/user2files
Мне не нужны виртуальные хосты, потому что я не хочу перезапускать или «перезагружать» Apache каждый раз, когда я добавляю «нового пользователя».
Я думаю, что журнал доступа Apache может предложить способ использования awk для суммирования всех / username1 /:
10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/upload.php HTTP/1.1" 200 10945
10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/styles.css HTTP/1.1" 304 -
Спасибо заранее!
Думаю, вы уже сами ответили.
В записи файла журнала вы можете прочитать загрузку в байтах:
10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/upload.php HTTP/1.1" 200 10945
10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/styles.css HTTP/1.1" 304 -
Первый файл был загружен 10945 байтами, второй - нет (HTTP-ответ 304 = не изменен, т.е. файл читается из кеша браузера).
Доступен ряд анализаторов файлов журналов. Формат - «Общий формат журнала» - возможно, вы что-нибудь найдете, если поищете. Иначе было бы несложно написать что-нибудь самостоятельно. По крайней мере, это даст вам хорошее приближение.
Помните, что довольно часто хосты настроены так, чтобы не регистрировать такие вещи, как jpeg и gif, поскольку файлы журнала очень быстро растут на сайтах с большим трафиком. Такое ограничение сделало бы этот анализ бесполезным.