Имеем
FreeBSD 6.4-RELEASE
Squid Cache: Version 2.7.STABLE4
lightsquid-1.7.1_1
Настроен как прозрачный прокси + lightsquid выводит статистикуЗадача:
Логи забиваются примерное за неделю до 2 гиг, как сделать если больше 1 гб новый лог, при этом не терялась статистика для lightsquid если это возможно.почитал про squid -k rotate
Заранее всем спасибо!
>[оверквотинг удален]
>Настроен как прозрачный прокси + lightsquid выводит статистику
>
>Задача:
>Логи забиваются примерное за неделю до 2 гиг, как сделать если больше
>1 гб новый лог, при этом не терялась статистика для lightsquid
>если это возможно.
>
>почитал про squid -k rotate
>
>Заранее всем спасибо!Разобрался !
1. logfile_rotate 15 максимальное колво log добавляем в squid.conf
2. Пишем маленький скриптик
squidrotate.sh#!/bin/sh
/usr/local/www/lightsquid/lightparser.pl
/usr/local/sbin/squid -k rotateпервая строчка запускает парсер для lightsquid чтобы не потерять данные
вторая собственно и делает ротацию!и запускаем кроном скрипт squidrotate.sh в то время когда нам нужно, нампример раз в 2 недели.
в портах есть logrotate. в связки с squid работает отлично в squid.conf пишем logfile_rotate 0
logrotate.conf:
#-----------
compress
missingok
noolddir/usr/local/squid/logs/access.log {
size=1024M
rotate 6
create 0644 squid squid
postrotate
/usr/local/sbin/squid -k rotate
endscript
}
#------------и прописываем запуск logrotate в crontab например так
2 * * * * root /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf
Вполне можно и newsyslog'ом обойтись:В конфиге сквида "logfile_rotate 0".
В /etc/newsyslog.conf что-нить типа:
/usr/local/squid/logs/access.log squid:squid 644 14 * @T00 ZC /var/run/squid.pid 30
Народ, подскажите, пожалуйста, в newsyslog добавил такую строку/usr/local/squid/logs/access.log squid:squid 640 3 50000 * BZC /usr/local/squid/logs/squid.pid> 30
В конфиге сквида "logfile_rotate 0".
но сквид после ротации перестает писать в access.log пока его не перезапустишь
>Народ, подскажите, пожалуйста, в newsyslog добавил такую строку
>
>/usr/local/squid/logs/access.log squid:squid 640 3 50000 * BZC /usr/local/squid/logs/squid.pid> 30
>
>В конфиге сквида "logfile_rotate 0".
>
>но сквид после ротации перестает писать в access.log пока его не перезапустишь
># crontab -e
добавляем строчку
0 0 * * 6 /usr/local/sbin/squid -k rotate
==============================================
и будет счастье в субботу в 0:00 каждую неделю
>[оверквотинг удален]
>>В конфиге сквида "logfile_rotate 0".
>>
>>но сквид после ротации перестает писать в access.log пока его не перезапустишь
>>
>
># crontab -e
>добавляем строчку
>0 0 * * 6 /usr/local/sbin/squid -k rotate
>==============================================
>и будет счастье в субботу в 0:00 каждую неделюа через newsyslog не будет работать? просто в нем можно настроить архивацию по достижению access.log определенного размера, а не по времени
>[оверквотинг удален]
>>>
>>
>># crontab -e
>>добавляем строчку
>>0 0 * * 6 /usr/local/sbin/squid -k rotate
>>==============================================
>>и будет счастье в субботу в 0:00 каждую неделю
>
>а через newsyslog не будет работать? просто в нем можно настроить архивацию
>по достижению access.log определенного размера, а не по времени==============================================
попробуй/usr/local/squid/logs/access.log squid:squid 644
>[оверквотинг удален]
>>>==============================================
>>>и будет счастье в субботу в 0:00 каждую неделю
>>
>>а через newsyslog не будет работать? просто в нем можно настроить архивацию
>>по достижению access.log определенного размера, а не по времени
>
>==============================================
>попробуй
>
>/usr/local/squid/logs/access.log squid:squid 644Поправил, буду смотреть, что получится.
>Народ, подскажите, пожалуйста, в newsyslog добавил такую строку
>
>/usr/local/squid/logs/access.log squid:squid 640 3 50000 * BZC /usr/local/squid/logs/squid.pid> 30
>
>В конфиге сквида "logfile_rotate 0".
>
>но сквид после ротации перестает писать в access.log пока его не перезапустишь
>может из-за > после .pid
>>Народ, подскажите, пожалуйста, в newsyslog добавил такую строку
>>
>>/usr/local/squid/logs/access.log squid:squid 640 3 50000 * BZC /usr/local/squid/logs/squid.pid> 30
>>
>>В конфиге сквида "logfile_rotate 0".
>>
>>но сквид после ротации перестает писать в access.log пока его не перезапустишь
>>
>
>может из-за > после .pidнет, это от копипаста из mc
с 644 такая же история