Отправляет email-рассылки с помощью сервиса Sendsay

SARG

Приветствую!

Есть такая программа SARG - сбор статистики
Запускаем в RH9 получаем только ежедневную статистику.
В RH9 в кроне есть ротация сквида по-недельно, вроде я ее убил, SARG стал выводить
недельную статистику, но все равно не выводит месячную
Кто знает куда еще надо посмотреть?

Андрей.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "frofis" Mon, 19 Jan 2004 13:54:34 +0300 (#58285)

 

Ответы:

Ты ее точно убил.
В каталоге /etc/logrotate.d есть файлик squid - удали его.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Mon, 19 Jan 2004 17:10:16 +0300 (#58497)

 

стал выводить

Именно его и убил

Андрей.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "frofis" Mon, 19 Jan 2004 19:12:57 +0300 (#58572)

 

И правильно сделал.
Затем в конфиге squid находишь параметр logfile_rotate назначаешь
количество равное количеству дней в месяце. Я поставил 31.
Потом напиши скрипт который вызывает SARG с параметрами
которые тебе нужны и склеиванием всех логов в один и натрави на него SARG.

Привожу свой универсальный скриптик собранный из трех разных скриптов
для подсчета по дням, неделям и месяцу. Запускать скрип в кронтабе
желательно после
того как произойдет ротация логов минут так на 10-15 позже.

#!/bin/bash

#Куда складывать отчет
NW_VOL=/var/tmp

#Get yesterday date
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
#YESTERDAY='31/12/2003'

# Указывается за какой период нужен отчет
# если пусто, то за прошедший день.
WEEKAGO=''
#WEEKAGO=$(date --date "1 week ago" +%d/%m/%Y)
#WEEKAGO=$(date --date "1 month ago" +%d/%m/%Y)

# Каталог где хранятся логи от squid
LOGDIR=/var/log/squid

# Какой файл будем разбирать
if [ ! $WEEKAGO = '' ]; then
LOGNAME=$LOGDIR/access.log.all
else
LOGNAME=$LOGDIR/access.log.0
fi

# Функция которая склеивает файлы $LOGDIR/access.log.*
# по хронологическому порядку иначе SARG будет врать в статистике
CrtLog()
{
cat `ls -r $LOGDIR/$1.log.[0-9][0-9]` `ls -r $LOGDIR/$1.log.[0-9]` >
$LOGDIR/$1.log.all
}

echo "Начало формирование отчета..."
# Если не пусто, то считаем за период
if [ ! $WEEKAGO = '' ]; then
echo "Создание общего файла протокола..."
CrtLog access
echo "... завершено"
/usr/sbin/sarg -x -o $NW_VOL -d $WEEKAGO-$YESTERDAY -l $LOGNAME
else
/usr/sbin/sarg -x -o $NW_VOL -d $YESTERDAY -l $LOGNAME
fi

if [ "$?" = 0 ]; then
echo "Отчет за день "$YESTERDAY" сформирован"
# Если все замечательно, то нам старые логи не нужны во избежании
# путаницы с количеством фал-логов и дней в месяце
if [ ! $WEEKAGO = '' ]; then
rm -f $LOGDIR/access.log.*
fi
else
echo "ПРоизошла ошибка!!"
fi

rm -f $LOGDIR/access.log.all
exit 0

ЗЫ. Конечно можно доработать до полной универсальности и передавать вторую
дату периода в качестве параметра скрипта.

WBR LK ICQ 66942266

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "Little KING" Wed, 21 Jan 2004 10:50:13 +0500 (#59786)

 

СПАСИБО ОГРОМНОЕ

попробую, а скрипты в SARGе использую стандартные, те которые быть в
какой-то rpm-ке, там есть ротация логов.

Андрей.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "frofis" Wed, 21 Jan 2004 14:24:46 +0300 (#60072)