Os FreeBsd 6.1Все свои действия распишу попорядку.
Номер раз.
elios# crontab -u root -e
*/10 * * * * /usr/local/bin/trafsave rl0
*/10 * * * * /usr/local/bin/trafsave vr0
*/3 * * * * /usr/local/etc/sarg/stat/1.sh (вот эта строка не работает :( )номер два
elios# vi /usr/local/etc/sarg/stat/1.sh
#!/usr/local/bin/bash
date=`date "+%d/%m/%Y"`
/usr/local/bin/sarg -d $data-$data
exit 0номер три
elios# vi /var/log/cron
Feb 14 14:09:01 elios /usr/sbin/cron[1385]: (root) CMD (/usr/local/etc/sarg/stat/1.sh)
Feb 14 14:10:00 elios /usr/sbin/cron[1395]: (root) CMD (/usr/local/bin/trafsave vr0)
Feb 14 14:10:00 elios /usr/sbin/cron[1396]: (root) CMD (/usr/local/bin/trafsave rl0)
Feb 14 14:11:00 elios /usr/sbin/cron[1412]: (operator) CMD (/usr/libexec/save-entropy)
Feb 14 14:12:00 elios /usr/sbin/cron[1425]: (root) CMD (/usr/local/etc/sarg/stat/1.sh)
Feb 14 14:15:00 elios /usr/sbin/cron[1433]: (root) CMD (/usr/local/etc/sarg/stat/1.sh)номер четыре
elios# vi /etc/crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/etc/sarg/statтеперь обовсем подробней.
1 - редактирую файл crontab для рута
2 - редактирую сам скрипт ( -rwxr-xr-x 1 root wheel 90 Feb 14 14:10 1.sh"
3 - проверяю логи (по логам вроде бы все нормально)
4 - проверяю path в crontab-еСкрипт называется 1.sh и находится в /usr/local/etc/sarg/stat/
права вроде бы выставлены, chmod +x сделал.
Но всеравно не работает. Где я не прав подскажите.
Если тупо в коммандной строке ввести /usr/local/etc/sarg/stat/1.sh
то все прекрастно исполняется.
Поможите.
>Os FreeBsd 6.1
>
>Все свои действия распишу попорядку.
>
>Номер раз.
>elios# crontab -u root -e
>*/10 * * * * /usr/local/bin/trafsave rl0
>*/10 * * * * /usr/local/bin/trafsave vr0
>*/3 * * * * /usr/local/etc/sarg/stat/1.sh (вот эта строка не работает
>:( )
>
>номер два
>elios# vi /usr/local/etc/sarg/stat/1.sh
>#!/usr/local/bin/bash
>date=`date "+%d/%m/%Y"`
>/usr/local/bin/sarg -d $data-$data
>exit 0
>
>номер три
>elios# vi /var/log/cron
>Feb 14 14:09:01 elios /usr/sbin/cron[1385]: (root) CMD (/usr/local/etc/sarg/stat/1.sh)
>Feb 14 14:10:00 elios /usr/sbin/cron[1395]: (root) CMD (/usr/local/bin/trafsave vr0)
>Feb 14 14:10:00 elios /usr/sbin/cron[1396]: (root) CMD (/usr/local/bin/trafsave rl0)
>Feb 14 14:11:00 elios /usr/sbin/cron[1412]: (operator) CMD (/usr/libexec/save-entropy)
>Feb 14 14:12:00 elios /usr/sbin/cron[1425]: (root) CMD (/usr/local/etc/sarg/stat/1.sh)
>Feb 14 14:15:00 elios /usr/sbin/cron[1433]: (root) CMD (/usr/local/etc/sarg/stat/1.sh)
>
>номер четыре
>elios# vi /etc/crontab
># /etc/crontab - root's crontab for FreeBSD
>#
># $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
>#
>SHELL=/bin/sh
>PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/etc/sarg/stat
>
>теперь обовсем подробней.
>
>1 - редактирую файл crontab для рута
>2 - редактирую сам скрипт ( -rwxr-xr-x 1 root wheel
> 90 Feb 14 14:10 1.sh"
>3 - проверяю логи (по логам вроде бы все нормально)
>4 - проверяю path в crontab-е
>
>Скрипт называется 1.sh и находится в /usr/local/etc/sarg/stat/
>права вроде бы выставлены, chmod +x сделал.
>Но всеравно не работает. Где я не прав подскажите.
>Если тупо в коммандной строке ввести /usr/local/etc/sarg/stat/1.sh
>то все прекрастно исполняется.
>Поможите.Да, крон та еще вещь...
Советую немного переписать скрипт:
#!/bin/sh
echo "Hello from cron..." > /tmp/cron1.log
date=`/bin/date "+%d/%m/%Y"`
echo "${date}" >> /tmp/cron1.log
/usr/local/bin/sarg -d $data-$data >> /tmp/cron1.log
exit 0+ не забывать передергивать крон, да смотреть /tmp/cron1.log
Если такого файла вообще нет, значит дело в конфиге крона,
иначе смотря по ситуации...
>Да, крон та еще вещь...
>Советую немного переписать скрипт:
>#!/bin/sh
>echo "Hello from cron..." > /tmp/cron1.log
>date=`/bin/date "+%d/%m/%Y"`
>echo "${date}" >> /tmp/cron1.log
>/usr/local/bin/sarg -d $data-$data >> /tmp/cron1.log
>exit 0
>
>+ не забывать передергивать крон, да смотреть /tmp/cron1.log
>Если такого файла вообще нет, значит дело в конфиге крона,
>иначе смотря по ситуации...
Блин. Вот что значит смотришь в книгу видишь фигу.
Спасибо за подсказку. Проблема в кривых руках.
обратите внимание вот на эти строчки. Ошибку допустил при написании.
date=`/bin/date "+%d/%m/%Y"`
usr/local/bin/sarg -d $data-$dataМораль - нефиг втыкать столько в монитор.
PS. Вот только непонятно почему скрипт запускался вручную и выводил отчет правильно. С такой ошибкой.
Но это уже совсем другая история :)
>>Да, крон та еще вещь...
>>Советую немного переписать скрипт:
>>#!/bin/sh
>>echo "Hello from cron..." > /tmp/cron1.log
>>date=`/bin/date "+%d/%m/%Y"`
>>echo "${date}" >> /tmp/cron1.log
>>/usr/local/bin/sarg -d $data-$data >> /tmp/cron1.log
>>exit 0
>>
>>+ не забывать передергивать крон, да смотреть /tmp/cron1.log
>>Если такого файла вообще нет, значит дело в конфиге крона,
>>иначе смотря по ситуации...
>
>
>Блин. Вот что значит смотришь в книгу видишь фигу.
>Спасибо за подсказку. Проблема в кривых руках.
>обратите внимание вот на эти строчки. Ошибку допустил при написании.
>date=`/bin/date "+%d/%m/%Y"`
>usr/local/bin/sarg -d $data-$data
>
>Мораль - нефиг втыкать столько в монитор.
>PS. Вот только непонятно почему скрипт запускался вручную и выводил отчет правильно.
>С такой ошибкой.
>Но это уже совсем другая история :)
>Все эти истории как и весь cron+crontab разжеваны были здесь неоднакратно, достаточно
были лишь воспользоваться поиском по ФОРУМУ
>Мораль - нефиг втыкать столько в монитор.
>PS. Вот только непонятно почему скрипт запускался вручную и выводил отчет правильно.
>С такой ошибкой.
>Но это уже совсем другая история :)
>Видимо потому что в консоли у тебя bash, а в скрипте /bin/sh