Дано: BSDi UNIX 4-ка, SQUID 2.4 STABLE7. Есть в системе скрипт ротации логов, т.е. в определённое время логи архивируются, опустошаются и так периодически. Решил я прикрутить это дело применительно к логам сквида. Ротация происходит на ура еженедельно. Вот только после этого эти логи не заполняютя. Принадлежность и права на логи вроде как выставляются верно. SQUID продолжает работать, никаких консольных сообщений нет. помогает только удаление этих логов и перегруз сервера.
Ну тогда хоть подскажите, как сделать так, чтобы rotate не создавал эти пустые логи, в которые сквид писать отказывается.
>Ну тогда хоть подскажите, как сделать так, чтобы rotate не создавал эти
>пустые логи, в которые сквид писать отказывается.попробуй так:
сначала настрой встроенную сквидовую ротацию, когда заработает, то своему скрипту подсовывай не сами логи, а последний их кусок, т.е. access.log.0либо внимательно проверь все права, атрибуты, владельца этих логов
>сначала настрой встроенную сквидовую ротацию, когда заработает, то своему скрипту подсовывай не
>сами логи, а последний их кусок, т.е. access.log.0
А можно поподробнее о действии logfile_rotate ? Команду squid -k rotate нужно будет подавать отдельно, по расписанию? И происходит ли при этом перезапуск сквида? Если да, то как граммотнее вписать это хозяйство в cron?>либо внимательно проверь все права, атрибуты, владельца этих логов
Сквид работает от имени nobody:nogroup, логам присваивется то же, права не меняются. А на какие ущё атрибуты обратить внимание?
>А можно поподробнее о действии logfile_rotate ?
по команде сквид делает ротацию, причем количество логов ограничено параметром в конфиге> Команду squid -k rotate нужно
>будет подавать отдельно, по расписанию?
удобнее по расписанию, но никто не запрещает и вручную...>И происходит ли при этом перезапуск
>сквида?
нет
>Если да, то как граммотнее вписать это хозяйство в cron?
как все остальные проги>Сквид работает от имени nobody:nogroup, логам присваивется то же, права не меняются.
>А на какие ущё атрибуты обратить внимание?
на то, что скрипт их не меняет...
>>Сквид работает от имени nobody:nogroup, логам присваивется то же, права не меняются.
>>А на какие ущё атрибуты обратить внимание?
>на то, что скрипт их не меняет...Как отработает, ещё раз проверю и запостю сюды!
>>А на какие ущё атрибуты обратить внимание?
>на то, что скрипт их не меняет...Посмотрел man: то что по умолчанию выстовляет скрипт в качестве mod, соответствует работающему логу. Где ещё копать?
человече, ты не с newsyslog мучаешься часом
>человече, ты не с newsyslog мучаешься часомНет, ветка посвещана сквиду и мучаюсь я с его логами: access.log etc.
>>человече, ты не с newsyslog мучаешься часом
>Нет, ветка посвещана сквиду и мучаюсь я с его логами: access.log etc.
не поверишь, каким-то чудным образом я об этом догадался :)))>Дано: BSDi UNIX 4-ка, SQUID 2.4 STABLE7. Есть в системе скрипт ротации логов
твои слова ? вот я и спрашиваю, чего за скрипт ротации логов ты используешь. bsdi под руками нету.
>чего за скрипт ротации логов ты используешь. bsdi под руками нету.Используется стандартный (как я понимаю) rotate, к которому есть скудный man. По умолчаню (ли?) он ротировал стандартные логи системы, запускаясь по времени. Вот я и приспособил его к ротации логов сквида, надеясь, что не придётся вручную этим заниматься.
для сквида установи
logfile_rotate 0
и посмотри пояснения к этой директиве
В эти выходные скрипт отработал с тем же результатом. Дал комманду fstat access.log - она вывела свою табличку, но совершенно без данных. И так по всем логам сквида.>для сквида установи
>logfile_rotate 0
>и посмотри пояснения к этой директивеКак я понимаю, при этой установке ротация логов самим сквидом производится не будет. Я вот только не понял, обязан ли я в этом случае подавать squid -k rotate перед ротацией?
Подал -k rotate. По хрону запустился системный ротэйт, которому я подсунул приготовленные самим сквидом файлы логов. Обнаружилось следующее:
gzip: /root/squid/logs/access.log.0.0.gz already exists; not overwritten
Это трабл gzip (много расширений) или что?
Попутно, как системе сообщить, что squid.conf хранится в другом месте, чем думает UNIX?