Страница 1 из 1

Ротация логов squid

Добавлено: 2015-03-14 10:48:37
k0ma

Код: Выделить всё

# uname -a
FreeBSD proxy 10.1-RELEASE-p5 FreeBSD 10.1-RELEASE-p5 #0: Sat Jan 31 19:35:51 KRAT 2015     root@proxy:/usr/obj/usr/src/sys/SRV-GW-CORE  amd64
Установлен squid +lightsquid, прозрачный прокси сервер.

Код: Выделить всё

# pkg info |grep squid
lightsquid-1.8_2               Light and fast web based squid proxy traffic analyser
squid33-3.3.13_2               HTTP Caching Proxy
При запуске скрипта, не по крону(по крону думаю так же долго), ужасно долго отрабатывает скрипт, ротация логов.

Код: Выделить всё

# ee /usr/local/etc/squid/RotateAccessLog
#!/bin/sh
ArcCount=12
/usr/local/www/apache24/data/lightsquid/lightparser.pl today
/usr/local/sbin/squid -k rotate || return 1
sleep 10
rm /var/log/squid/cache.log.1 2>/dev/null
rm /var/log/squid/store.log.1 2>/dev/null
i=$(($ArcCount-1))
cd /var/log/squid || return 1
rm access.log.$i.bz2 2>/dev/null
while [ $i -gt 0 ]
do
   mv access.log.$(($i-1)).bz2 access.log.$i.bz2 2>/dev/null
    i=$(($i-1))
done
bzip2 access.log.0
глянул на top

Код: Выделить всё

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
79016 root          1 102    0 18572K  8904K CPU3    3  11:06 100.00% bzip2
понятно что архивация логов, но почему же так долго? минут 30 в среднем.
2гб озу, 6гб swap
глянул на логи, такое ощущение что я 1 раз сегодня, за неделю(или больше) сделал ротацию логов

Код: Выделить всё

# ls -lh
total 1457188
-rw-r-----  1 squid  squid   1.2M Mar 14 14:37 access.log
-rw-r-----  1 squid  squid   1.2G Mar 14 14:21 access.log.0
-rw-------  1 root   squid   197M Mar 14 14:37 access.log.0.bz2
-rw-r-----  1 squid  squid    30M Feb 25 15:55 access.log.2.bz2
-rw-r-----  1 squid  squid   5.1M Feb 24 07:42 access.log.3.bz2
-rw-r-----  1 squid  squid   1.2K Feb 22 11:57 access.log.4.bz2
-rw-r-----  1 squid  squid   461B Mar 14 14:21 cache.log
-rw-r-----  1 squid  squid   154K Mar 14 14:10 cache.log.0
ужс... как узнать крон отрабатывает вообще или нет?

Код: Выделить всё

00      01      01      *       *       root /usr/local/etc/squid/RotateAccessLog
в час ночи каждый день, каждый месяц, верно?

Отправлено спустя 9 минут 25 секунд:

Код: Выделить всё

# ls -lh /var/log/squid/
total 326084
-rw-r-----  1 squid  squid   2.5M Mar 14 14:47 access.log
-rw-r-----  1 squid  squid   281M Mar 10 21:34 access.log.0.bz2
-rw-r-----  1 squid  squid    30M Feb 25 15:55 access.log.2.bz2
-rw-r-----  1 squid  squid   5.1M Feb 24 07:42 access.log.3.bz2
-rw-r-----  1 squid  squid   1.2K Feb 22 11:57 access.log.4.bz2
-rw-r-----  1 squid  squid   1.9K Mar 14 14:41 cache.log
-rw-r-----  1 squid  squid   154K Mar 14 14:10 cache.log.0
После завершения ротации логов, минут 20 точно было

Ротация логов squid

Добавлено: 2015-03-15 12:44:05
snorlov
В час ночи первого числа каждого месяца...
k0ma писал(а): 00 01 01 * * root /usr/local/etc/squid/RotateAccessLog
А вот так каждый день

Код: Выделить всё

00      01      *      *       *       root /usr/local/etc/squid/RotateAccessLog

Ротация логов squid

Добавлено: 2015-03-15 16:35:22
mr.fr
у squid'a же ротация логов запускается squid -k rotate
зачем архивировать?

Ротация логов squid

Добавлено: 2015-03-15 16:52:35
k0ma
Делали по скрипту, затем и архивацию включили, было 1,5 гб, стало 300мб.

Ротация логов squid

Добавлено: 2015-03-15 17:21:42
snorlov
k0ma писал(а):Делали по скрипту, затем и архивацию включили, было 1,5 гб, стало 300мб.
Если уж критично место на диске, то позвольте узнать, а зачем вам столько количество логов? Вы что-нибудь потом с ними делаете? Лучше обработать действующий лог чем-нибудь, тем же sarg'ом к примеру для удобного для человека восприятия, а потом сделать rotate...

Ротация логов squid

Добавлено: 2015-03-17 10:47:47
wien
У меня в кроне скрипт, который парсит (lightsquid) действующий лог и бэкапит его после обработки ежедневно в 3 часа ночи. Чтобы все это хозяйство заработало нужно:
1. в конфиг сквида добавить logfile_rotate 100, где 100 в моем случае кол-во хранимых логов, можешь указать столько сколько нужно.
2. Поместить скрипт следующего содержания в крон:

Код: Выделить всё

/usr/local/www/lightsquid/lightparser.pl
/usr/local/sbin/squid -k rotate
Вместо первой строки, где указан мой парсер - нужно указать свой.

Ротация логов squid

Добавлено: 2015-03-18 8:52:18
kharkov_max
Или /etc/newsyslog.conf, тока права укажите на squid