Страница 1 из 1

Крон не запускает скрипт....ПОЧЕМУ???

Добавлено: 2007-04-06 23:12:56
lev
Всё прочитал в хэндбуке и на сайте у лиса. Но так и не попёрло.
:? Задача проста-. Надо бухгалтеру заходить на внутренний сайт и смотреть отчёты сарга, чтобы не впаривали лишнего по трафику.
Апач-поднял. :twisted:
Сарг-поднял. :twisted:
Сквид-поднял. :twisted:
Теперь в крон положил задание,запускать лисов скрипт, "uborka.sh", и положил его /usr/bin





#!/bin/sh
#
#
#
current_year=`date '+%Y'`
current_month=`date '+%m'`
current_date=`date '+%d'`
## Sozdayem direktoiyu pod logi
log_dir="/var/old_log/${current_year}/${current_month}"
mkdir -p ${log_dir} 2>/dev/null

## ubiraem logi SQUID
cat /var/log/squid/access.log > /tmp/log.tmp
cat /dev/null > /var/log/squid/access.log
cat /tmp/log.tmp >> ${log_dir}/squid.log

ну и в crontab это хозяйство, раз в 10 минут, скажем.



Всё прошло хорошо, создались директории,апач подкрутил на новые параметры.
Бухгалтер зашла на http://192.168.0.11, и увидела отчёт сарга.
Я его запустил в ручную.
Теперь добавил в крон запуск сарга 1 раз в час, но сарг не запускается

Короче всё описать не могу, и вставить логи тоже не могу(сижу на виндовой машине) :?

А теперь просьба-Помогите кто чем может.
:roll: Учителя я себе не могу найти в Питере,придётся ехать в Москву . :P

зы. А может есть способ проще посмотреть весь трафик через мой интерфейс rl0 :?: :?: :?:

Добавлено: 2007-04-07 0:16:35
Dmitriy.A
Я не пойму чем виндовая машина мешает логи вставить. Покажи как в крон добавил запуск сарга. и логи крона.

Добавлено: 2007-04-07 12:46:01
serge
Действительно не понятно, показывать нужно. Могу предположить что нужно указать полные пути к исполняемым программам или скрипту.

Добавлено: 2007-04-07 17:09:34
lev
Прошу извинить за Неправильную постановку вопроса (очень устал маны курить) :shock:
С кроном сегодня разобрался :twisted:
Вопрос такой/// :?: :?: :?:

Как увидеть раз в месяц трафик пожранный юзерами моей сетки :?:

Добавлено: 2007-04-07 17:50:07
Dmitriy.A
Если сквидовый то скормить саргу месячный access.log

Добавлено: 2007-04-07 18:26:04
lev
tormozok, 2007-03-12 в 10:10:32

написал скриптик, чтобы отчеты разбивались по месецам и при смене месяца проходила ротация логов squid
# cat sarg-a.sh
#!/bin/sh
monday=$(date -v-0m +%m)
fname=/usr/local/etc/sarg-a.cash
if [ -f $fname ]
then
#----------читаем содержимое файла--------
exec < $fname
while read ldate
do
zmonday=$ldate
done
#--------сравниваю сегодняшний месяц с месяцем в файле
if [ $monday -ne $zmonday ]
then
# echo 'Даты не совпадают'
#-------------делаем последний отче за прошлый месяц-------
ddate=$(date -v-1m +01/%m/%Y)-$(date -v1d -v-0m -v-1d +%d/%m/ %Y)
/usr/local/bin/sarg -l /usr/local/squid/logs/access.log -d sarg -d $ddate
/usr/local/sbin/squid -k rotate
echo $monday > $fname

else
ddate=$(date +01/%m/%Y)-$(date -v1d -v+1m -v-1d +%d/%m/%Y)
/usr/local/bin/sarg -l /usr/local/squid/logs/access.log -d sarg -d $ddate
# echo 'Даты совпадают'
fi

else
#--------если файла нет то создадим
echo $monday > $fname
# echo "Файл создан"
fi





Вот нашёл это и чуствую оно мне надо/ :shock:
Подскажите/ как правильно использовать скрипт/
как его сунуть в крон :?:

А по лисяриному у меня выходит каждый раз свежая инфа / а я хочу чтобы каждый день прибавлялся к предыдушему трафику/ И так целый месяц/ А в конце месяца всё по новой/ с сохранением отчётов за прошлые месяцы

Добавлено: 2007-04-07 18:30:20
lev
Dmitriy.A писал(а):Если сквидовый то скормить саргу месячный access.log
А как накопить и правильно шугануть его в сарг? :?: :idea: :?:
Вот для меня задача - непосильная (пока) :?
Я в никсах как обезьяна среди академиков :?

Добавлено: 2007-04-07 18:32:49
Alex Keda
не очень понял что ты хочешь, но видимо, надо играться с сами файлом логов..

Добавлено: 2007-04-07 19:13:09
lev
lissyara писал(а):не очень понял что ты хочешь, но видимо, надо играться с сами файлом логов..
Привет лис/
Хочу/// При заходе на сайт наша бухгалтерка хочет видеть в сарге---отчёт по каждому юзеру (накопительный)за каждый день и в конце каждого месяца обнуление отчёта с сохранением всех месячных отчётов за год
Вроде сформулировал :twisted: правильно/

Но вот ещё одна версия :cry:

Один раз в день крон запускает сарг и как-то прибавляет сегодняшний трафик к ко всем прошлым/
И так до 31 (30) (28и29) числа каждого месяца(как он узнает последний день---не знаю)

А с 1-го числа начинаем новый подсчёт

В итоге у нас на сайте будет 12 ссылок на 12 отчётов по месяцам


А с 1-го января всё на хрен обнуляем и по новой всё считаем/

Вот гдето так/ :twisted:

Добавлено: 2007-04-07 21:53:27
baklan
Зачем sarg то, если надо только объем трафика? Он такой объем работы делает по анализу логов, проще какую-нибудь трафикосчиталку и все дела. Та же ipa или здесь на сайте описана система на trafd .

Добавлено: 2007-04-07 23:17:05
lev
baklan писал(а):Зачем sarg то, если надо только объем трафика? Он такой объем работы делает по анализу логов, проще какую-нибудь трафикосчиталку и все дела. Та же ipa или здесь на сайте описана система на trafd .

trafd :twisted: Я уже протрахался с ним неделю, и бросил , подозревая ,что я забиваю гвоздь мелкоскопом.
А что такое ипа я не знаю вообще :?
подскажите куда рыть :?:

Добавлено: 2007-04-09 12:38:40
serge
Вот как у меня сделано (на оригинальность естестно не претендую :) )

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

schtep# cat /usr/local/etc/squid/squid.conf | grep logfile
#       A netmask for client addresses in logfiles and cachemgr output.
#  TAG: logfile_rotate
#       Specifies the number of logfile rotations to make when you
#       with extensions 0 through 9.  Setting logfile_rotate to 0 will
#       disable the rotation, but the logfiles are still closed and
#       re-opened.  This will enable you to rename the logfiles
 logfile_rotate 12
В кроне

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

schtep# crontab -l
57      23      *       *       *       /usr/local/bin/sarg
10      0       1       *       *       /usr/local/sbin/squid -k rotate

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

schtep# cat /usr/local/etc/sarg/sarg.conf | grep -v #
...
lastlog 1
...
overwrite_report yes
...
В итоге: сарг генерит отчет в конце суток за период от начала месяца до текущего дня. Новый отчет перезаписывает старый. Т.е. всегда видно отчет только от начала месяца до вчерашнего дня. 1 числа проходит ротация лога сквида. В сарге отчет за прошедший месяц будет висеть до конца первого дня нового месяца(затем будет перезаписан). Сквид хранит в архиве 12 файлов логов, т.е. за год. При необходимости можно сгенерить отчет на их основе в ручную когда это понадобится.

Добавлено: 2007-04-09 15:27:33
lev
Серж спасибо щяс буду мудить как у тебя :P

Добавлено: 2007-04-09 17:49:07
lev
Создаем файлик в /usr/local/bin, называем его my_script. Не забудем потом сказать chmod +x /usr/local/bin/my_script чтоб он стал у нас запускаемым (от рута это делаем).

В файлике пишем примерно следующее:

mkdir /tmp/`date --date= +%d-%b-%y`
# этим действом у нас в каталоге /tmp/ создастся подкаталог, именем которого будет сегодняшняя дата (ну типа 09-Апр-07)
# правда у фри и у линукса могут отличаться ключики у даты. для проверки просто напишите в консоли date --date= +%d-%b-%y,
# должы будете получить сегодняшнюю дату

cd /var/log/sarg
# это мы переходим в тот каталог, в котором у нас валяются sarg'овые html'и

mv *.html /tmp/`date --date= +%d-%b-%y` -f
# это мы просто перемещаем все html файлы в тот каталог, который мы создали

ну вот собственно и все. вызов этого скрипта засовываем в крон (от рута лучше) чтобы раз в месяц он выполнялся. В результате, каждый месяц вы будете получать в /tmp каталог, с датой его создания и в нем нужные вам html-файлики.

Теоретически, все должно работать. Ну разьве что у фри команда даты по-другому работает. но это уже мелочи.






Вот знакомый линуксоид любезно прислал .
Но после вот этого mkdir /tmp/`date --date= +%d-%b-%y` получается файл в ТЕМПе с таким названием date --date= +%d-%b-%y

Спросить могу только у вас ФРИШников ,как же мне создавать диру с датой, где лажа в этом скрипте, или лучше __как правильно во фре это сделать.
Сержу спасибо ещё раз, всё сделал по твоему,буду ждать конца месяца :shock:

Добавлено: 2007-04-09 19:56:45
serge

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

[serge@server ~]$ mkdir /tmp/`date +%d-%m-%y`
[serge@server ~]$ ls -l /tmp/ | grep 09
drwxr-xr-x   2 serge     wheel      512B  9 апр 20:54 09-04-07/

Добавлено: 2007-04-09 21:40:34
lev
Радуюсь как ребёнок :D ? ура получилось :lol: /
Спасибо большое за помощь/ :P
Буду дальше мордоваться :twisted: