После ротации в newsyslog логов контроля доступа squidGuard дальнейшее логирование прекращается. Возобновить его можно только после squid -k reconfigure. Нигде не нашел инструкций как же правильно выполнить ротацию. Пока что пришел к такому решению (прописал pid процесса):
/var/log/squidGuard/porno squid:squid 640 1 200 * JC /var/run/squid/squid.pid
Подскажите, может это и есть правильное решение или есть другие подходы?
> После ротации в newsyslog логов контроля доступа squidGuard дальнейшее логирование прекращается.
> Возобновить его можно только после squid -k reconfigure. Нигде не нашел
> инструкций как же правильно выполнить ротацию. Пока что пришел к такому
> решению (прописал pid процесса):
> /var/log/squidGuard/porno squid:squid 640 1 200 *
> JC /var/run/squid/squid.pid
> Подскажите, может это и есть правильное решение или есть другие подходы?а че logrotate уже не феншуй?
> а че logrotate уже не феншуй?Очень даже феншуй, тут даже вопрос не столько в том чем ротировать, а в том, что обязательно ли требуется squidGuard-у после ротации "kill -HUP" или использовать squid.pid. В документации по squidGuard ничего не нашел. А logrotate как и ntwsyslog - не принципиально (хотя согласен, что в данном случае logrotate удобнее). Слышал, что можно ротировать средствами squid, но как - опять же нигде не указано.
>> а че logrotate уже не феншуй?
> Очень даже феншуй, тут даже вопрос не столько в том чем ротировать,
> а в том, что обязательно ли требуется squidGuard-у после ротации "kill
> -HUP" или использовать squid.pid. В документации по squidGuard ничего не нашел.
> А logrotate как и ntwsyslog - не принципиально (хотя согласен, что
> в данном случае logrotate удобнее).
$ cat /etc/logrotate.d/squid/var/log/squid/cache.log {
su squid nogroup
compress
dateext
maxage 365
rotate 99
size=+1024k
notifempty
missingok
create 640 squid root
sharedscripts
postrotate
/etc/init.d/squid reload
endscript
}/var/log/squid/access.log {
su squid nogroup
compress
dateext
maxage 365
rotate 99
size=+4096k
notifempty
missingok
create 640 squid root
sharedscripts
postrotate
/etc/init.d/squid reload
endscript
}/var/log/squid/store.log {
su squid nogroup
compress
dateext
maxage 365
rotate 99
size=+4096k
notifempty
missingok
create 640 squid root
sharedscripts
postrotate
/etc/init.d/squid reload
endscript
}
> Слышал, что можно ротировать средствами squid, но как - опять же нигде не указано.
Всё, pavlinux, спасибо, вопрос решен с помощью установки и настройки logrotate вместо newsyslog.
Конфигурация файла logrotate чтобы не "затирало" лог куда пишет примерно такая (главное тут - copytruncate и nocreate):
/var/log/squidGuard/* {
missingok
rotate 2
size=2048k
compress
copytruncate
delaycompress
notifempty
nocreate
noolddir
nomail
}
И никакие перезапуски squid не нужны.
>[оверквотинг удален]
> size=2048k
> compress
> copytruncate
> delaycompress
> notifempty
> nocreate
> noolddir
> nomail
> }
> И никакие перезапуски squid не нужны./etc/init.d/squid reload - это такой лёгкий способ, без проверки кэша, а именно:
squid -k rotate; (оно же kill -USR1 $(cat /var/run/squid.pid))
sleep 2;
squid -k reconfigure; (оно же kill -HUP $(cat /var/run/squid.pid))