Крон не запускает скрипт....ПОЧЕМУ???
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
Крон не запускает скрипт....ПОЧЕМУ???
Всё прочитал в хэндбуке и на сайте у лиса. Но так и не попёрло.
Задача проста-. Надо бухгалтеру заходить на внутренний сайт и смотреть отчёты сарга, чтобы не впаривали лишнего по трафику.
Апач-поднял.
Сарг-поднял.
Сквид-поднял.
Теперь в крон положил задание,запускать лисов скрипт, "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 раз в час, но сарг не запускается
Короче всё описать не могу, и вставить логи тоже не могу(сижу на виндовой машине)
А теперь просьба-Помогите кто чем может.
Учителя я себе не могу найти в Питере,придётся ехать в Москву .
зы. А может есть способ проще посмотреть весь трафик через мой интерфейс rl0
Задача проста-. Надо бухгалтеру заходить на внутренний сайт и смотреть отчёты сарга, чтобы не впаривали лишнего по трафику.
Апач-поднял.
Сарг-поднял.
Сквид-поднял.
Теперь в крон положил задание,запускать лисов скрипт, "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 раз в час, но сарг не запускается
Короче всё описать не могу, и вставить логи тоже не могу(сижу на виндовой машине)
А теперь просьба-Помогите кто чем может.
Учителя я себе не могу найти в Питере,придётся ехать в Москву .
зы. А может есть способ проще посмотреть весь трафик через мой интерфейс rl0
Услуги хостинговой компании 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/
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
- serge
- майор
- Сообщения: 2133
- Зарегистрирован: 2006-07-30 15:34:14
- Откуда: Саратов
- Контактная информация:
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
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
Вот нашёл это и чуствую оно мне надо/
Подскажите/ как правильно использовать скрипт/
как его сунуть в крон
А по лисяриному у меня выходит каждый раз свежая инфа / а я хочу чтобы каждый день прибавлялся к предыдушему трафику/ И так целый месяц/ А в конце месяца всё по новой/ с сохранением отчётов за прошлые месяцы
написал скриптик, чтобы отчеты разбивались по месецам и при смене месяца проходила ротация логов 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
Вот нашёл это и чуствую оно мне надо/
Подскажите/ как правильно использовать скрипт/
как его сунуть в крон
А по лисяриному у меня выходит каждый раз свежая инфа / а я хочу чтобы каждый день прибавлялся к предыдушему трафику/ И так целый месяц/ А в конце месяца всё по новой/ с сохранением отчётов за прошлые месяцы
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
- Alex Keda
- стреляли...
- Сообщения: 35456
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
Привет лис/lissyara писал(а):не очень понял что ты хочешь, но видимо, надо играться с сами файлом логов..
Хочу/// При заходе на сайт наша бухгалтерка хочет видеть в сарге---отчёт по каждому юзеру (накопительный)за каждый день и в конце каждого месяца обнуление отчёта с сохранением всех месячных отчётов за год
Вроде сформулировал правильно/
Но вот ещё одна версия
Один раз в день крон запускает сарг и как-то прибавляет сегодняшний трафик к ко всем прошлым/
И так до 31 (30) (28и29) числа каждого месяца(как он узнает последний день---не знаю)
А с 1-го числа начинаем новый подсчёт
В итоге у нас на сайте будет 12 ссылок на 12 отчётов по месяцам
А с 1-го января всё на хрен обнуляем и по новой всё считаем/
Вот гдето так/
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-11-30 22:55:54
- Откуда: Москва
- Контактная информация:
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
baklan писал(а):Зачем sarg то, если надо только объем трафика? Он такой объем работы делает по анализу логов, проще какую-нибудь трафикосчиталку и все дела. Та же ipa или здесь на сайте описана система на trafd .
trafd Я уже протрахался с ним неделю, и бросил , подозревая ,что я забиваю гвоздь мелкоскопом.
А что такое ипа я не знаю вообще
подскажите куда рыть
- serge
- майор
- Сообщения: 2133
- Зарегистрирован: 2006-07-30 15:34:14
- Откуда: Саратов
- Контактная информация:
Вот как у меня сделано (на оригинальность естестно не претендую )
В кроне
В итоге: сарг генерит отчет в конце суток за период от начала месяца до текущего дня. Новый отчет перезаписывает старый. Т.е. всегда видно отчет только от начала месяца до вчерашнего дня. 1 числа проходит ротация лога сквида. В сарге отчет за прошедший месяц будет висеть до конца первого дня нового месяца(затем будет перезаписан). Сквид хранит в архиве 12 файлов логов, т.е. за год. При необходимости можно сгенерить отчет на их основе в ручную когда это понадобится.
Код: Выделить всё
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
...
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер
Создаем файлик в /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
Спросить могу только у вас ФРИШников ,как же мне создавать диру с датой, где лажа в этом скрипте, или лучше __как правильно во фре это сделать.
Сержу спасибо ещё раз, всё сделал по твоему,буду ждать конца месяца
В файлике пишем примерно следующее:
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
Спросить могу только у вас ФРИШников ,как же мне создавать диру с датой, где лажа в этом скрипте, или лучше __как правильно во фре это сделать.
Сержу спасибо ещё раз, всё сделал по твоему,буду ждать конца месяца
- serge
- майор
- Сообщения: 2133
- Зарегистрирован: 2006-07-30 15:34:14
- Откуда: Саратов
- Контактная информация:
Код: Выделить всё
[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/
- lev
- мл. сержант
- Сообщения: 143
- Зарегистрирован: 2006-10-25 21:01:59
- Откуда: Питер