Добрый день.
Проблема следующая. Надеюсь поможете.
Создаю скрипт для автоматизации создания отчетов Squid при помощи Sarg.
Задача: 1)каждый день в полночь создается отчет за прошедший день.
2)В каждый конец месяца создается отчет за прошедший день, прошедший месяц,
access.log удаляется и создается новый файл логов.Застрял на первом. Команда sarg -d Date from-until dd/mm/yyyy-dd/mm/yyyy
Команда date выдает дату в необходимом виде по запросу date +%D
Создаем переменную, например $data1.
1) Каким образом теперь перенести в нее дату, отданную командой date и отправить в операнд Sarg-у?
(я так понимаю должно выглядеть что-то типа date+%D | $data1)2)Был-бы крайне благодарен, если проконсультировали и по второму вопросу, дабы избежать новых проблем.
заранее благодарю.Хороший форум. Мне нравится, респект авторам и всем кто трудился.
>(я так понимаю должно выглядеть что-то типа date+%D | $data1)
>data1=`date +%D`
както так.>Хороший форум. Мне нравится, респект авторам и всем кто трудился.
:)
>Застрял на первом. Команда sarg -d Date from-until dd/mm/yyyy-dd/mm/yyyy
>Команда date выдает дату в необходимом виде по запросу date +%D
>Создаем переменную, например $data1.
>1) Каким образом теперь перенести в нее дату, отданную командой date и
>отправить в операнд Sarg-у?date1=`date +%D`
sarg -d $date1 ...
или прямо
sarg -d `date +%D` ...
Задача 1.
скрипт, создающий отчет за прошлый день, выполняется в 00:05 каждый день:#!/bin/bash
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
/usr/sbin/sarg -o /var/www/html/squid/daily -d $YESTERDAY > /dev/null 2>&1
exit 0Задача 2.
как создавать отчеты за неделю и за месяц - см. примеры на оффсайте
вкратце:
- в папке /etc/sarg лежат скрипты для отчетов за день/неделю/месяц
- в файле crontab - указания на запуск в конкретное время этих скриптовимхо более кошерно не удалять старый лог так сразу а хранить некоторое время, используя logrotate
Спасибо огромное за ответы! Очень помогли!