Sarg отчет за месяц (... пример комманды)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

orci
Сообщения: 62

Sarg отчет за месяц

Сообщение orci »

Что надо прописать в sarg что б он выдал отчет за месяц по каждому дню? Комманду в каком виде.
Чегой то не получатся. Просто общий отчет за месяцполучаю.
Спасибо сказали:
Маслов Д. А.
Сообщения: 130

Re: Sarg отчет за месяц

Сообщение Маслов Д. А. »

orci писал(а):
16.06.2008 09:19
Что надо прописать в sarg что б он выдал отчет за месяц по каждому дню? Комманду в каком виде.
Чегой то не получатся. Просто общий отчет за месяцполучаю.


Лично мне найти такой функционал у sarg не удалось. В связи с этим пользуюсь связкой lightsquid+mini_http вполне доволен. Такой вопрос мною уже поднимался в этом форуме можете поискать.
Спасибо сказали:
sim1
Сообщения: 155
ОС: GNU,BSD

Re: Sarg отчет за месяц

Сообщение sim1 »

в чистом виде такой команды конечно нет, но можно написать небольшой скрипт

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

#!/bin/sh
#настройки сарга
CONFIG=/path_to/sarg.conf
# куда класть отчеты за выбранный месяц
OUT=/path_to_log
SARG=/path_to/bin/sarg

# задаем необходимый месяц (два знака обязательно!)
MONTH=06
YEAR=2008
# считаем сколько дней в месяце
DAYS=`echo $(cal ${MONTH} ${YEAR}) | sed 's/.* //'`

echo "days per month: ${DAYS}"
i=1
#формируем отчеты
while [ "${i}" -le "${DAYS}" ]
do
    if [ "${i}" -lt "10" ]; then
    day="0$i"
    else
    day=${i}
    fi
    MANUALDATE="${day}/${MONTH}/${YEAR}"
    echo "do report for date ${MANUALDATE}"
    $SARG -f $CONFIG -d $MANUALDATE -o $OUT
    i=$(($i+1))
done
Спасибо сказали:
Маслов Д. А.
Сообщения: 130

Re: Sarg отчет за месяц

Сообщение Маслов Д. А. »

sim1 писал(а):
16.06.2008 12:29
в чистом виде такой команды конечно нет, но можно написать небольшой скрипт

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

#!/bin/sh
#настройки сарга
CONFIG=/path_to/sarg.conf
# куда класть отчеты за выбранный месяц
OUT=/path_to_log
SARG=/path_to/bin/sarg

# задаем необходимый месяц (два знака обязательно!)
MONTH=06
YEAR=2008
# считаем сколько дней в месяце
DAYS=`echo $(cal ${MONTH} ${YEAR}) | sed 's/.* //'`

echo "days per month: ${DAYS}"
i=1
#формируем отчеты
while [ "${i}" -le "${DAYS}" ]
do
    if [ "${i}" -lt "10" ]; then
    day="0$i"
    else
    day=${i}
    fi
    MANUALDATE="${day}/${MONTH}/${YEAR}"
    echo "do report for date ${MANUALDATE}"
    $SARG -f $CONFIG -d $MANUALDATE -o $OUT
    i=$(($i+1))
done


Когда решал вопрос с получение статистики от SQUID, так же рассматривал вариант со скриптом.
Если стоит задача получать отчеты только в разрезе дней, то способ вполне хорош. Если же в разрезе дней, а потом итогом за месяц/год, то получаем следующий гемор - необходимость хранения некоего файла со всей статистикой за месяц/год. Просчет соответствующей статистики (хотя по дням уже считали). Так же нюансы отображения всего этого на экране пользователя.
Спасибо сказали:
sim1
Сообщения: 155
ОС: GNU,BSD

Re: Sarg отчет за месяц

Сообщение sim1 »

Лично для себя я решил этот вопрос путем прокручивания к сквиду мускула с парочкой таблиц и небольшим скриптиком под апачем на php с уеб интерфейсом, который позволяет получить статистику в нужном разрезе по запросу.
Спасибо сказали:
Маслов Д. А.
Сообщения: 130

Re: Sarg отчет за месяц

Сообщение Маслов Д. А. »

sim1 писал(а):
16.06.2008 20:04
Лично для себя я решил этот вопрос путем прокручивания к сквиду мускула с парочкой таблиц и небольшим скриптиком под апачем на php с уеб интерфейсом, который позволяет получить статистику в нужном разрезе по запросу.


Если честно в эту сторону даже не смотрел. Просто поставил связку ligthsquid + mini_http получилось весьма просто и вполне эффективно.
Спасибо сказали: