Вопрос знатокам: Как в начале скрипта отловить обьем накопленных в трубе (Pipe) данных? И по возможности время их накопления.
Есть такая ситуевина:
Есть биллинг (stargazer) который раздает юзерам интернет, юзеров много и они работают за разными компьютерами в пределах локальной сети (юзеров больше чем компов).
Есть squid в прозрачном режиме, который экономит траффик, и http->i-cap->clamav. Сквид пишет свои логи в access.log,
Хочется знать по каким сайтам лазил пользователь.
В момент авторизации пользователя в БД в таблице "now" создается соответствие юзер=ip, плюс для истории в conn-log - когда юзер подключался и отключался.
mkfifo /var/log/squid/access.log - создана труба, на другом конце трубы сидит перловый скрипт (./s2m.pl < /var/log/squid/access.log &), который обрабатывает поток данных и пишет в БД ссылки посещенные пользователем и их username.
В то время когда вывод из трубы не направлен на скрипт (перезапуск скрипта, его зависание и т.д.) данные накапливаются в трубе. Админ руками перезапускает скрипт, однако неизвестно за какое время там накоплены данные. Если за 5 секунд, то все нормально, а если несколько часов - то табличка "now" не актуальна.
Вопрос знатокам: Как в начале скрипта отловить обьем накопленных в трубе данных? И по возможности время их накопления.
Или может кто видел патчик для squid чтобы он сам писал свои логи в БД...