Операционная система UBUNTU-SERVER 12
Работает SQUID
Для отчетов выбран SARG
Сразу оговорюсь для любителей посылать в поиск... искал очень долго, в том числе и на этом форуме,НО результата пока нет. Поэтому излагать буду с самого начала, и, поэтапно то, что делал и к чему пришел.После установки SARGa настроил его конфиг на выдачу отчетов в /var/www/sarg
После чего проверил нахождение файлов sarg в каталогах:
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/
во всех каталогах благополучно находился файл sarg, но с содержимым, соответствующим каждому каталогу:
Для каталога daily
#!/bin/sh
if [ -x /usr/sbin/sarg-reports ]; then
/usr/sbin/sarg-reports daily
fi
Для каталога weekly
#!/bin/sh
if [ -x /usr/sbin/sarg-reports ]; then
/usr/sbin/sarg-reports weekly
fi
Далее (из одной из статей по теме), я переименовал названия этих файлов из sarg в 0sarg - сделано это для того, чтобы отчеты создавались в самом начале работы cron (в смысле первым из всех файлов в каталоге). Также закомментировал содержимое файла sarg, таходящегося в каталоге /etc/cron.monthly (это для того чтобы при ротации лога к конце месяца отчет не выполнялся дважды.. далее будет понятно почему)
Для ежемесячной ротации лога я подправил файлик /etc/logrotate.d/squid
/var/log/squid3/*.log {
monthly
compress
delaycompress
rotate 2
missingok
nocreate
sharedscripts
prerotate
test ! -x /usr/sbin/sarg-reports || /usr/sbin/sarg-reports monthly
endscript
postrotate
test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate
endscript
}
как видно именно тут прописана команда выполнения отчета sarg, а уж потом и ротация лога соответственно
Также откорректировал файл /etc/sarg/sarg-reports.conf:
SARG=/usr/bin/sarg
CONFIG=/etc/sarg/sarg.conf
HTMLOUT=/var/www/sarg
PAGETITLE="Отчет по расходу трафика на Server"
LOGOIMG=/sarg/images/sarg.png
LOGOLINK="
http://192.168.100.2/"
DAILY=День
WEEKLY=Неделя
MONTHLY=Месяц
EXCLUDELOG1="SARG: No records found"
EXCLUDELOG2="SARG: End"
Думаю в этом конфиге все понятно.
Поехали дальше.... Вроде как все уже должно работать...НО не работает.... Умные люди в интернете посоветовали поставить на файлы sarg во всех калогах cron атрибут +x, чтож поставил сомандой sudo chmod +x /etc/cron.daily/sarg ну и по этому же типу на остальные..
Проверяем... НЕ запускается задача... При этом если я в консоли даю команду
sudo sarg-reports daily или
sudo /etc/cron.daily/sarg
скрипт выполняется и формируется отчет как положено
Опять же умные люди посоветовали: нужно настроить crontab, даже подсказали как. НАСТРОИЛ:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
57 23 * * * root /etc/cron.daily/0sarg
59 23 * * sun root sarg-reports weekly
1 0 1 * * root sarg-reports monthly
причем это второй вариант.
первый был со строкой 57 23 * * * root sarg-reports daily
ни тот, ни другой не работает.
Теперь встал вопрос посмотреть логи (я начинающий пользователь линукса, хотя с компьютерами общаюсь уже давольно давно)
По стандартному пути /var/log я не нашел ничего, напоминающее cron, поэтому начал искать ответ в гугле
Добрый гугль дал ответ, что такое счастье в ubuntu 12 нужно еще и настроить....
и так:
нашел и открыл файл
sudo vi /etc/rsyslog.conf и добавил в конец строчку cron.* /var/log/cron
перезапустил службу лога: sudo service rsyslog restart
Ну вот она радость!! теперь все логи cron записываются в отдельный файл!
Начинаю смотреть:
Dec 17 23:57:01 Server CRON[5086]: (root) CMD (sarg-reports daily)
Dec 17 23:57:03 Server CRON[5085]: (CRON) info (No MTA installed, discarding output)
Гугль говорит, что cron не может отправить сообщение об ошибке, по этому и ругается.
Короче говоря... Задача на сегодняшний момент так и не решена. Я уже запутался... ПОМОГИТЕ разобраться с этим демоном!