Не запускается процесс в crontab-еМои действия:
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
HOME=/var/log
#minute hour mday month wday who command
#
*/5 * * * * root /usr/libexec/atrun
*/5 * * * * root /usr/home/lomik/traf.php update
30 23 * * * root /usr/home/lomik/traf.php daytohistory
*/5 * * * * root /usr/local/etc/sarg/time/999.local #вот оно не пашет.
после чего вписываю строку. (Она уже ^^^^ вписана).*/5 * * * * root /usr/local/etc/sarg/time/999.local
создаю файл.
vi /usr/local/etc/sarg/time/999.local
вписываю в файл строки.
#!/bin/bash
#Get yesterday date
YESTERDAY=$(date +%d/%m/%Y)
sarg -o /usr/local/www/data/sarg/today -d $YESTERDAY-$YESTERDAY
exit 0Жду 5 минут, убеждаюсь что ничего не фурычит. Что не так делаю ?
>Не запускается процесс в crontab-е
>
>Мои действия:
>
>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
>HOME=/var/log
>#minute hour mday month
>wday who command
>#
>*/5 *
>* *
> * root
> /usr/libexec/atrun
>*/5 *
>* *
> * root
> /usr/home/lomik/traf.php update
>30 23
>* *
> * root
> /usr/home/lomik/traf.php daytohistory
>*/5 * *
> *
> * root
> /usr/local/etc/sarg/time/999.local #вот оно не пашет.
>
>
>после чего вписываю строку. (Она уже ^^^^ вписана).
>
>*/5 * *
> *
> * root
> /usr/local/etc/sarg/time/999.local
>
>создаю файл.
>
>vi /usr/local/etc/sarg/time/999.local
>
>вписываю в файл строки.
>
>#!/bin/bash
>#Get yesterday date
>YESTERDAY=$(date +%d/%m/%Y)
>sarg -o /usr/local/www/data/sarg/today -d $YESTERDAY-$YESTERDAY
>exit 0
>
>Жду 5 минут, убеждаюсь что ничего не фурычит. Что не так делаю
>?А crond перезапустить?не?
>А crond перезапустить?не?перегрузил систему командой reboot
после этого всеравно эффекта никакого.
в логах vi /var/log/cron
Aug 10 12:35:00 elios /usr/sbin/cron[3596]: (root) CMD (/usr/local/etc/sarg/time/999.local)
Aug 10 12:35:00 elios /usr/sbin/cron[3597]: (root) CMD (/usr/home/lomik/traf.php update)
Aug 10 12:35:00 elios /usr/sbin/cron[3598]: (root) CMD (/usr/libexec/atrun)Но страница Sarg-a не обновилась. Осталась старая информация. Откуда делаю вывод что не пашет.
если вручную ввести команду.
elios# bash /usr/local/etc/sarg/time/999.local
все отлично работает.
>>А crond перезапустить?не?
>
>перегрузил систему командой reboot
>
>после этого всеравно эффекта никакого.
>
>в логах vi /var/log/cron
>
>Aug 10 12:35:00 elios /usr/sbin/cron[3596]: (root) CMD (/usr/local/etc/sarg/time/999.local)
>Aug 10 12:35:00 elios /usr/sbin/cron[3597]: (root) CMD (/usr/home/lomik/traf.php update)
>Aug 10 12:35:00 elios /usr/sbin/cron[3598]: (root) CMD (/usr/libexec/atrun)
>
>Но страница Sarg-a не обновилась. Осталась старая информация. Откуда делаю вывод что
>не пашет.
>
>если вручную ввести команду.
>elios# bash /usr/local/etc/sarg/time/999.local
>все отлично работает.
Сделать пустую строку в конце файла и сохранить.
>Сделать пустую строку в конце файла и сохранить.Если не сложно чуточку подробней.
Пустую строку в каком файле ?Просто не понял если честно.
>>А crond перезапустить?не?
>
>перегрузил систему командой reboot
>
>после этого всеравно эффекта никакого.
>
>в логах vi /var/log/cron
>
>Aug 10 12:35:00 elios /usr/sbin/cron[3596]: (root) CMD (/usr/local/etc/sarg/time/999.local)
>Aug 10 12:35:00 elios /usr/sbin/cron[3597]: (root) CMD (/usr/home/lomik/traf.php update)
>Aug 10 12:35:00 elios /usr/sbin/cron[3598]: (root) CMD (/usr/libexec/atrun)
>
>Но страница Sarg-a не обновилась. Осталась старая информация. Откуда делаю вывод что
>не пашет.
>
>если вручную ввести команду.
>elios# bash /usr/local/etc/sarg/time/999.local
>все отлично работает.Все у Вас прекрасно запускается. Смотрите в сторону переменной PATH - эта тема уже обсуждалась много раз, поищите по форуму.
В скрипте, который вызывает cron нужны полные пути везде.
>В скрипте, который вызывает cron нужны полные пути везде.добавил каталог откуда пускается sarg
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sarg/time:/usr/local/binдописал вот это в 999.local (добавил полный путь до sarg-а)
/usr/local/bin/sarg -o /usr/local/www/data/sarg/today -d $YESTERDAY-$YESTERDAYРезультата нет.
Если туплю не судите строго :) Но я действительно не понимаю почему не пускается Sarg.
Мды....
Короче я так и не понял почему не работало.В crontabe переписал строку по другому и все заработало.
*/5 * * * * root bash /usr/local/etc/sarg/time/999.local
Добавил "bash"
Я так понимаю что это не корректно, но зато почему то все фурычит.
>Мды....
>Короче я так и не понял почему не работало.
>
>В crontabe переписал строку по другому и все заработало.
>
>*/5 *
>* *
> * root
> bash /usr/local/etc/sarg/time/999.local
>
>Добавил "bash"
>
>Я так понимаю что это не корректно, но зато почему то все
>фурычит.а файло executable бит имело? /usr/local/etc/sarg/time/999.local
>а файло executable бит имело? /usr/local/etc/sarg/time/999.localввел такую команду. Или этого не достаточно ?
elios# chmod +x 999.local
>
>>а файло executable бит имело? /usr/local/etc/sarg/time/999.local
>
>ввел такую команду. Или этого не достаточно ?
>elios# chmod +x 999.local... попробуй дать команду просто /usr/local/etc/sarg/time/999.local
выполнится или нет?
>... попробуй дать команду просто /usr/local/etc/sarg/time/999.local
>выполнится или нет?
нет.
/usr/local/etc/sarg/time/999.local: Command not found.
а это иллюстрация ^^^Подскажите как сделать файло запускаемым или дайте ссылку где можно прочитать про это.
>
>>... попробуй дать команду просто /usr/local/etc/sarg/time/999.local
>>выполнится или нет?
>
>
>нет.
>/usr/local/etc/sarg/time/999.local: Command not found.
>а это иллюстрация ^^^
>
>Подскажите как сделать файло запускаемым или дайте ссылку где можно прочитать про
>это.chmod 755 файл
а правильнее править cron командой crontab -e
>chmod 755 файл
тоже не факт. может FS смонтирована как noexec
пусть попробует запустить его
>>chmod 755 файл
>тоже не факт. может FS смонтирована как noexec
>пусть попробует запустить егони так ни так не вышло. файл не пускается.
>>>chmod 755 файл
>>тоже не факт. может FS смонтирована как noexec
>>пусть попробует запустить его
>
>ни так ни так не вышло. файл не пускается.
1. проверить что есть /bin/bash
2. прописать в скрипте полные пути
3. курить доки. (ой, нет, это надо было 0-ым пунктом)
И не запустится. Чтобы его запустить из shell, нужно писать так:
./usr/local/etc/sarg/time/999.local
точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
>И не запустится. Чтобы его запустить из shell, нужно писать так:
>./usr/local/etc/sarg/time/999.local
>точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
>точка не обязательна в самом деле тут кажется проблема с путями. Скорее всего bash лежит не в /bin, а в самом скрипте стоит /bin/bash поэтому надо сначала найти:
#which bash
а потом что там нарисовалось вписать в начале скрипта.
Должно работать.
>>И не запустится. Чтобы его запустить из shell, нужно писать так:
>>./usr/local/etc/sarg/time/999.local
>>точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
>>
>
>точка не обязательна в самом деле тут кажется проблема с путями. Скорее
>всего bash лежит не в /bin, а в самом скрипте стоит
>/bin/bash поэтому надо сначала найти:
>#which bash
>а потом что там нарисовалось вписать в начале скрипта.
>Должно работать.
elios# which bash
/usr/local/bin/bashПроблема решена. Спасибо за подсказку.
>>>И не запустится. Чтобы его запустить из shell, нужно писать так:
>>>./usr/local/etc/sarg/time/999.local
>>>точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
зачем точка если указывается ПОЛНЫЙ путь к скрипту?
точку следует указывать, коли хочешь запустить, например бинарник из текущего каталога, прчем этот текущий каталог не входит в path.
./start