URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68139
[ Назад ]

Исходное сообщение
"Crontab + как подозреваю кривые руки"

Отправлено Vort , 10-Авг-06 13:15 
Не запускается процесс в 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 + как подозреваю кривые руки"
Отправлено Apossum , 10-Авг-06 13:18 
>Не запускается процесс в 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 перезапустить?не?


"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 13:41 
>А 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
все отлично работает.


"Crontab + как подозреваю кривые руки"
Отправлено demone , 10-Авг-06 13:55 
>>А 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
>все отлично работает.


Сделать пустую строку в конце файла и сохранить.


"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 14:00 

>Сделать пустую строку в конце файла и сохранить.

Если не сложно чуточку подробней.
Пустую строку в каком файле ?

Просто не понял если честно.


"Crontab + как подозреваю кривые руки"
Отправлено newser , 10-Авг-06 14:28 
>>А 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 - эта тема уже обсуждалась много раз, поищите по форуму.


"Crontab + как подозреваю кривые руки"
Отправлено SubGun , 10-Авг-06 15:02 
В скрипте, который вызывает cron нужны полные пути везде.

"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 15:58 
>В скрипте, который вызывает 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.


"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 16:27 
Мды....
Короче я так и не понял почему не работало.

В crontabe переписал строку по другому и все заработало.

*/5     *       *       *       *       root    bash /usr/local/etc/sarg/time/999.local

Добавил "bash"

Я так понимаю что это не корректно, но зато почему то все фурычит.


"Crontab + как подозреваю кривые руки"
Отправлено Дениска , 10-Авг-06 16:29 
>Мды....
>Короче я так и не понял почему не работало.
>
>В crontabe переписал строку по другому и все заработало.
>
>*/5     *      
>*       *    
>   *       root
>   bash /usr/local/etc/sarg/time/999.local
>
>Добавил "bash"
>
>Я так понимаю что это не корректно, но зато почему то все
>фурычит.

а файло executable бит имело? /usr/local/etc/sarg/time/999.local


"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 16:51 

>а файло executable бит имело? /usr/local/etc/sarg/time/999.local

ввел такую команду. Или этого не достаточно ?
elios# chmod +x 999.local



"Crontab + как подозреваю кривые руки"
Отправлено Дениска , 10-Авг-06 16:54 
>
>>а файло executable бит имело? /usr/local/etc/sarg/time/999.local
>
>ввел такую команду. Или этого не достаточно ?
>elios# chmod +x 999.local

... попробуй дать команду просто /usr/local/etc/sarg/time/999.local
выполнится или нет?



"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 16:57 

>... попробуй дать команду просто /usr/local/etc/sarg/time/999.local
>выполнится или нет?


нет.
/usr/local/etc/sarg/time/999.local: Command not found.
а это иллюстрация ^^^

Подскажите как сделать файло запускаемым или дайте ссылку где можно прочитать про это.


"Crontab + как подозреваю кривые руки"
Отправлено Giro , 10-Авг-06 17:08 
>
>>... попробуй дать команду просто /usr/local/etc/sarg/time/999.local
>>выполнится или нет?
>
>
>нет.
>/usr/local/etc/sarg/time/999.local: Command not found.
>а это иллюстрация ^^^
>
>Подскажите как сделать файло запускаемым или дайте ссылку где можно прочитать про
>это.

chmod 755 файл

а правильнее править cron командой crontab -e


"Crontab + как подозреваю кривые руки"
Отправлено Дениска , 10-Авг-06 17:16 
>chmod 755 файл
тоже не факт. может FS смонтирована как noexec
пусть попробует запустить его


"Crontab + как подозреваю кривые руки"
Отправлено Vort , 10-Авг-06 17:22 
>>chmod 755 файл
>тоже не факт. может FS смонтирована как noexec
>пусть попробует запустить его

ни так ни так не вышло. файл не пускается.


"Crontab + как подозреваю кривые руки"
Отправлено Дениска , 10-Авг-06 17:25 
>>>chmod 755 файл
>>тоже не факт. может FS смонтирована как noexec
>>пусть попробует запустить его
>
>ни так ни так не вышло. файл не пускается.
1. проверить что есть /bin/bash
2. прописать в скрипте полные пути
3. курить доки. (ой, нет, это надо было 0-ым пунктом)


"Crontab + как подозреваю кривые руки"
Отправлено SubGun , 10-Авг-06 17:39 
И не запустится. Чтобы его запустить из shell, нужно писать так:
./usr/local/etc/sarg/time/999.local
точка вначале. Иначе система гядит в bin и sbin, а видит фигу.

"Crontab + как подозреваю кривые руки"
Отправлено Giro , 10-Авг-06 21:49 
>И не запустится. Чтобы его запустить из shell, нужно писать так:
>./usr/local/etc/sarg/time/999.local
>точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
>

точка не обязательна в самом деле тут кажется проблема с путями. Скорее всего bash лежит не в /bin, а в самом скрипте стоит /bin/bash поэтому надо сначала найти:
#which bash
а потом что там нарисовалось вписать в начале скрипта.
Должно работать.


"Crontab + как подозреваю кривые руки"
Отправлено Vort , 11-Авг-06 08:31 
>>И не запустится. Чтобы его запустить из shell, нужно писать так:
>>./usr/local/etc/sarg/time/999.local
>>точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
>>
>
>точка не обязательна в самом деле тут кажется проблема с путями. Скорее
>всего bash лежит не в /bin, а в самом скрипте стоит
>/bin/bash поэтому надо сначала найти:
>#which bash
>а потом что там нарисовалось вписать в начале скрипта.
>Должно работать.


elios# which bash
/usr/local/bin/bash

Проблема решена. Спасибо за подсказку.


"Crontab + как подозреваю кривые руки"
Отправлено Дениска , 11-Авг-06 09:37 
>>>И не запустится. Чтобы его запустить из shell, нужно писать так:
>>>./usr/local/etc/sarg/time/999.local
>>>точка вначале. Иначе система гядит в bin и sbin, а видит фигу.
зачем точка если указывается ПОЛНЫЙ путь к скрипту?
точку следует указывать, коли хочешь запустить, например бинарник из текущего каталога, прчем этот текущий каталог не входит в path.
./start