Просмотрев кучу всякой информаций я сделал так написал на perl прогу которая лопатит весь access.log от squid считает количество байт использованных пользователем и сравнивает их с лимитом установленным для этого пользователя. После чего если пользователь привысил лимит его имя заноситься в файл по которому squid отрубает ему доступ. Подвесли я значит запус программы подсчета трафика в cron и начал пробовать значит так считает все нормально. Только как я понял squid только один раз перечитывает squid.conf и след один раз перечитывает файл где у меня лежат прогулявшие весь инет пользователи. Т.е. если при старте squid если в файле всего один пользователь А то ему в доступе будет отказанно потом в процеесе добовляеться пользователь В и хотя он привысил лимит squid его не блочит. Если-же squid перезапустить то он отрубит доступ уже и А и В.
Как решить эту проблему вроде-бы есть такая функция у squid как пречитывание конфигураций каждые n минут. Или вешать restart squid в cron
(хотя это полный бред) Подскажите pls. Может кто поделиться своими решениями по даной проблеме.
>Как решить эту проблему вроде-бы есть такая функция у squid как пречитывание
>конфигураций каждые n минут. Или вешать restart squid в cron
>(хотя это полный бред) Подскажите pls. Может кто поделиться своими решениями по
>даной проблеме.
либо по крону squid - k reconfigure, либо тоже самое вызывать из скрипта, который формирует файл с разрешенными пользователями в случае изменнения файла.
если по какой-либо причине reconfigure делать нежелательно, то можно сделать скрипт-редиректор, который будет читать этот файл и в зависимости от его содержимого принимать решению куда редиректить юзера.
>>Как решить эту проблему вроде-бы есть такая функция у squid как пречитывание
>>конфигураций каждые n минут. Или вешать restart squid в cron
>>(хотя это полный бред) Подскажите pls. Может кто поделиться своими решениями по
>>даной проблеме.
>либо по крону squid - k reconfigure, либо тоже самое вызывать из
>скрипта, который формирует файл с разрешенными пользователями в случае изменнения файла.
>
>если по какой-либо причине reconfigure делать нежелательно, то можно сделать скрипт-редиректор, который
>будет читать этот файл и в зависимости от его содержимого принимать
>решению куда редиректить юзера.
А еще лучше вести лог через пайп в SQL и прикрутить авторизацию, которая по выборку из SQL решает, пускать или не пускать.
>>>Как решить эту проблему вроде-бы есть такая функция у squid как пречитывание
>>>конфигураций каждые n минут. Или вешать restart squid в cron
>>>(хотя это полный бред) Подскажите pls. Может кто поделиться своими решениями по
>>>даной проблеме.
>>либо по крону squid - k reconfigure, либо тоже самое вызывать из
>>скрипта, который формирует файл с разрешенными пользователями в случае изменнения файла.
>>
>>если по какой-либо причине reconfigure делать нежелательно, то можно сделать скрипт-редиректор, который
>>будет читать этот файл и в зависимости от его содержимого принимать
>>решению куда редиректить юзера.
> А еще лучше вести лог через пайп в SQL и прикрутить
>авторизацию, которая по выборку из SQL решает, пускать или не пускать.
>
> А еще лучше вести лог через пайп в SQL и прикрутить
>авторизацию, которая по выборку из SQL решает, пускать или не пускать.хорошая идея насчет пайпа, только подскажите, как заставить сквид выдавать лог в пайп? а то с пайпами я еще не работал...
и как сделать авторизацию так, чтобы при решении не пускать юзера в инет, перекидывала бы его на страничку с его статистикой и сообщением об исчерпании квоты?
>Просмотрев кучу всякой информаций я сделал так написал на perl прогу которая
>лопатит весь access.log от squid считает количество байт использованных пользователем и
>сравнивает их с лимитом установленным для этого пользователя. После чего если
>пользователь привысил лимит его имя заноситься в файл по которому squid
>отрубает ему доступ.
а можешь мне на eleet@pisem.net кинуть скрипт свой?
а то я в перле полный ноль, а такая вещь нужна
если не жалко, кинь плиз
>>Просмотрев кучу всякой информаций я сделал так написал на perl прогу которая
>>лопатит весь access.log от squid считает количество байт использованных пользователем и
>>сравнивает их с лимитом установленным для этого пользователя. После чего если
>>пользователь привысил лимит его имя заноситься в файл по которому squid
>>отрубает ему доступ.
>а можешь мне на eleet@pisem.net кинуть скрипт свой?
>а то я в перле полный ноль, а такая вещь нужна
>если не жалко, кинь плизЕсли не жалко, то и мне кинь пож-та! fghjkl_lkjhgf@mail.ru
>Просмотрев кучу всякой информаций я сделал так написал на perl прогу которая
>лопатит весь access.log от squid считает количество байт использованных пользователем и
>сравнивает их с лимитом установленным для этого пользователя. После чего если
>пользователь привысил лимит его имя заноситься в файл по которому squid
>отрубает ему доступ. Подвесли я значит запус программы подсчета трафика в
>cron и начал пробовать значит так считает все нормально. Только как
>я понял squid только один раз перечитывает squid.conf и след один
>раз перечитывает файл где у меня лежат прогулявшие весь инет пользователи.
>Т.е. если при старте squid если в файле всего один пользователь
>А то ему в доступе будет отказанно потом в процеесе добовляеться
>пользователь В и хотя он привысил лимит squid его не блочит.
>Если-же squid перезапустить то он отрубит доступ уже и А и
>В.
>Как решить эту проблему вроде-бы есть такая функция у squid как пречитывание
>конфигураций каждые n минут. Или вешать restart squid в cron
>(хотя это полный бред) Подскажите pls. Может кто поделиться своими решениями по
>даной проблеме.Хая.
Я сделал точно также! ;-) Идея в точности эта.
Работает без проблем. Cron запускает скрипт каждые 15 минут. И каждую ночь в 4 часа запускает с ключом rotate. (Я там с ротацией хитрее сделал).
А вообще, по проекту, у нас был анализ в БД. Статистика и тп - времени на реализацию просто нехватает. А сам проект, если хотите, могу сюда выложить. Если скрипт кому нужно - мыльте dodger@list.ru.