Скрипт для SARG
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- Max Yurchak
- ефрейтор
- Сообщения: 62
- Зарегистрирован: 2006-09-08 16:52:44
- Контактная информация:
Скрипт для SARG
Доброго всем дня озадачился тут сбором статистики со squid, стоит у меня SARG но както работать он не совсем хотел, логи долго обрабатывал, вообщем последний месяц я его и не очень то беспокоил. Но тут вот прибило меня что то и решил, я его до ума довести. Один добрый человек прислал мне свои примеры скриптов. Решил их и использовать.
Вот скрипт
#!/bin/sh
#Скрипт для генерации текущих отчетов
cmd_sarg=/usr/local/bin/sarg
cmd_date=/bin/date
cmd_cat=/bin/cat
cmd_rm=/bin/rm
cmd_mkdir=/bin/mkdir
tmp_dir=/tmp/sarg/cur
log_path=/usr/backup/log/squid
out_path=/usr/local/www/reports/cur
$cmd_rm -rf $tmp_dir
$cmd_mkdir $tmp_dir
$cmd_cat /usr/local/squid/logs/access.log > $tmp_dir/access.log
$cmd_rm -rf $out_path/[a-zA-z0-9]*
$cmd_sarg -d `$cmd_date "+%d/%m/%Y-%d/%m/%Y"` -l $tmp_dir/access.log -o $out_pat
$cmd_rm -rf $tmp_dir
Как он работает из него примерно понятно! Но вот проблема при его выполнении вылетает ошибка
SARG: Файл не найден: /tmp/sarg/cur/access.log
Смотрю и действительно его нет, стал смотреть скрипт, вроде должно быть, но директории и правда нет, закоментировал весь скрипт, точнее исплняемую часть после переменных, начал раскоментировать и смотреть где ругается.
Всё работает вот до этой строки
$cmd_sarg -d `$cmd_date "+%d/%m/%Y-%d/%m/%Y"` -l $tmp_dir/access.log -o $out_pat
Как её раскоментировал так ошибка и попёрла. Что может быть?????
Вот скрипт
#!/bin/sh
#Скрипт для генерации текущих отчетов
cmd_sarg=/usr/local/bin/sarg
cmd_date=/bin/date
cmd_cat=/bin/cat
cmd_rm=/bin/rm
cmd_mkdir=/bin/mkdir
tmp_dir=/tmp/sarg/cur
log_path=/usr/backup/log/squid
out_path=/usr/local/www/reports/cur
$cmd_rm -rf $tmp_dir
$cmd_mkdir $tmp_dir
$cmd_cat /usr/local/squid/logs/access.log > $tmp_dir/access.log
$cmd_rm -rf $out_path/[a-zA-z0-9]*
$cmd_sarg -d `$cmd_date "+%d/%m/%Y-%d/%m/%Y"` -l $tmp_dir/access.log -o $out_pat
$cmd_rm -rf $tmp_dir
Как он работает из него примерно понятно! Но вот проблема при его выполнении вылетает ошибка
SARG: Файл не найден: /tmp/sarg/cur/access.log
Смотрю и действительно его нет, стал смотреть скрипт, вроде должно быть, но директории и правда нет, закоментировал весь скрипт, точнее исплняемую часть после переменных, начал раскоментировать и смотреть где ругается.
Всё работает вот до этой строки
$cmd_sarg -d `$cmd_date "+%d/%m/%Y-%d/%m/%Y"` -l $tmp_dir/access.log -o $out_pat
Как её раскоментировал так ошибка и попёрла. Что может быть?????
Что-то, воля ваша, недоброе таится в мужчинах, избегающих вина, игр, общества прелестных женщин, застольной беседы.
Такие люди или тяжко больны, или втайне ненавидят окружающих. Правда, возможны исключения.
Такие люди или тяжко больны, или втайне ненавидят окружающих. Правда, возможны исключения.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- рядовой
- Сообщения: 18
- Зарегистрирован: 2006-12-11 17:17:34
Re: Скрипт для SARG
Уважаемый Макс, а не проше ли настроить сам конфиг сарга и запускать его по времени с удалением всех отчетов перед этим, насколько я понял написанное этим и занимается.Max Yurchak писал(а): Один добрый человек прислал мне свои примеры скриптов. Решил их и использовать.
А директория создана и запись в нее разрешена пользователю от которого запускается скрипт?Max Yurchak писал(а):Как он работает из него примерно понятно! Но вот проблема при его выполнении вылетает ошибка
SARG: Файл не найден: /tmp/sarg/cur/access.log
Вам надо почитать доки по саргу, как посоветовал лисяра, ключик -l , в данном случае предлагает саргу взять логи для обработки из директории указанной после него (ключа), а у вас эта директория пустая по вашем же словам....Max Yurchak писал(а):Смотрю и действительно его нет, стал смотреть скрипт, вроде должно быть, но директории и правда нет, закоментировал весь скрипт, точнее исплняемую часть после переменных, начал раскоментировать и смотреть где ругается.
Всё работает вот до этой строки
$cmd_sarg -d `$cmd_date "+%d/%m/%Y-%d/%m/%Y"` -l $tmp_dir/access.log -o $out_pat
Как её раскоментировал так ошибка и попёрла. Что может быть?????
- Max Yurchak
- ефрейтор
- Сообщения: 62
- Зарегистрирован: 2006-09-08 16:52:44
- Контактная информация:
Спасибо, что откликнулись. Уважаемый Kirill дело в том, что дирректория есть, точнее нет, дело обстоит так:
$cmd_mkdir $tmp_dir
поидее должен создать директорию /tmp/sarg/cur при этом директория /tmp/sarg/ уже есть но вот команда $cmd_rm -rf $tmp_dir её в начале удаляла и он соответственно её не видел.
По поводу родного конфига Sarg, просто мне хочется, что бы был архив а не текущая статистика, а когда access.log становиться достаточно больших размеров, то его обработка занимает достаточно продолжительное время!
На самом деле там несколько скриптов, текущий, недельный, месячный и годовой.
$cmd_mkdir $tmp_dir
поидее должен создать директорию /tmp/sarg/cur при этом директория /tmp/sarg/ уже есть но вот команда $cmd_rm -rf $tmp_dir её в начале удаляла и он соответственно её не видел.
По поводу родного конфига Sarg, просто мне хочется, что бы был архив а не текущая статистика, а когда access.log становиться достаточно больших размеров, то его обработка занимает достаточно продолжительное время!
На самом деле там несколько скриптов, текущий, недельный, месячный и годовой.
Что-то, воля ваша, недоброе таится в мужчинах, избегающих вина, игр, общества прелестных женщин, застольной беседы.
Такие люди или тяжко больны, или втайне ненавидят окружающих. Правда, возможны исключения.
Такие люди или тяжко больны, или втайне ненавидят окружающих. Правда, возможны исключения.
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- InventoR
- ст. лейтенант
- Сообщения: 1344
- Зарегистрирован: 2006-12-10 19:43:25
- Контактная информация:
-
- проходил мимо
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация: