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

Исходное сообщение
"Проблема с cron ом"

Отправлено BuTaJIuK , 28-Сен-06 17:44 
Крон не выполняет задач....:

/var/spool/cron/crontabs/root :
* * * * * root echo test.

Крон запущен.
Я работаю под рутом.
Каждую мин. должно на консоль выводить test.
Не работает.... ((.


Содержание

Сообщения в этом обсуждении
"Проблема с cron ом"
Отправлено user , 28-Сен-06 19:18 
>Крон не выполняет задач....:
>
>/var/spool/cron/crontabs/root :
>* * * * * root echo test.
>
>Крон запущен.
>Я работаю под рутом.
>Каждую мин. должно на консоль выводить test.
>Не работает.... ((.

А если так

*/1 * * * * root echo test


"Проблема с cron ом"
Отправлено user , 28-Сен-06 19:46 
>>Крон не выполняет задач....:
>>
>>/var/spool/cron/crontabs/root :
>>* * * * * root echo test.
>>
>>Крон запущен.
>>Я работаю под рутом.
>>Каждую мин. должно на консоль выводить test.
>>Не работает.... ((.
>
А этот файл крона вообще тот что основной или тот что отдельный?
Если отдельный то для него не нужно указывать поле пользователя
если это файл крона для рута, то зачем ещё раз указывать что это нужно запускать из под рута?
Попробуйте так
* * * * * echo test


"Проблема с cron ом"
Отправлено lux.place , 29-Сен-06 08:40 
Чего?
Во первых, как правил файл? Если ручками, то перезапускал ли crond?
Во вторых, с чего ты взял, что вывод пойдёт на консоль? В зависимости от настроек либо в мыло, либо в никуда он уйдёт.

"Проблема с cron ом"
Отправлено BuTaJIuK , 29-Сен-06 11:23 
>Чего?
>Во первых, как правил файл? Если ручками, то перезапускал ли crond?
>Во вторых, с чего ты взял, что вывод пойдёт на консоль? В
>зависимости от настроек либо в мыло, либо в никуда он уйдёт.
>


Во первых - crontab -e
крону делал cron force-reload
Во вторых я делал и скрипт, кот. при запуске отрабатывает, но в кроне нет.
Т.е. проблема в том что крон не выполняет то что в crontab записано.


"Проблема с cron ом"
Отправлено BuTaJIuK , 29-Сен-06 11:29 
>Чего?
>Во первых, как правил файл? Если ручками, то перезапускал ли crond?
>Во вторых, с чего ты взял, что вывод пойдёт на консоль? В
>зависимости от настроек либо в мыло, либо в никуда он уйдёт.
>


Правил - crontab -e
крон перезапускал
Я кроме ехо делал выполения скрипта кот. если запускаешь ручками отрабатывает красиво, а если через крон, то скрипт не запускается ....


"Проблема с cron ом"
Отправлено los , 29-Сен-06 11:51 
>>Чего?
>>Во первых, как правил файл? Если ручками, то перезапускал ли crond?
>>Во вторых, с чего ты взял, что вывод пойдёт на консоль? В
>>зависимости от настроек либо в мыло, либо в никуда он уйдёт.
>>
>
>
>Правил - crontab -e
>крон перезапускал
>Я кроме ехо делал выполения скрипта кот. если запускаешь ручками отрабатывает красиво,
>а если через крон, то скрипт не запускается ....

Смотри свою локальную почту. Там и будет вывод всего, что могло выводиться скриптом через cron.
В мане четко сказано
     When executing commands, any output
     is mailed to the owner of the crontab (or to the user named in the MAILTO
     environment variable in the crontab, if such exists).
причем в первых же строчках.


"Проблема с cron ом"
Отправлено hex , 29-Сен-06 12:34 
>Правил - crontab -e
>крон перезапускал
>Я кроме ехо делал выполения скрипта кот. если запускаешь ручками отрабатывает красиво,
>а если через крон, то скрипт не запускается ....
После crontab -e перезапускать демона не обязательно.
Скрипт может не отработать из-за разницы в переменных окружения (типичная проблема - у него другой PATH и cron просто не находит скрипт).
Попробуй
* * * * * touch /tmp/i_am_alive
Если файл создался через минуту - копайся в своих скрипах. Иначе - будет иначе :)

"Проблема с cron ом"
Отправлено BuTaJIuK , 29-Сен-06 18:54 
>>Правил - crontab -e
>>крон перезапускал
>>Я кроме ехо делал выполения скрипта кот. если запускаешь ручками отрабатывает красиво,
>>а если через крон, то скрипт не запускается ....
>После crontab -e перезапускать демона не обязательно.
>Скрипт может не отработать из-за разницы в переменных окружения (типичная проблема -
>у него другой PATH и cron просто не находит скрипт).
>Попробуй
>* * * * * touch /tmp/i_am_alive
>Если файл создался через минуту - копайся в своих скрипах. Иначе -
>будет иначе :)

Странно нашел конфиг crontab-а в /etc и поправил его, и заработало )). Но crontab -e из командной строки правит конфиг кот. находится по пути : /var/spool/cron/crontab. В чем тут загвоздка ? Не понятно.


"Проблема с cron ом"
Отправлено user , 29-Сен-06 20:18 
>>>Правил - crontab -e
>>>крон перезапускал
>>>Я кроме ехо делал выполения скрипта кот. если запускаешь ручками отрабатывает красиво,
>>>а если через крон, то скрипт не запускается ....
>>После crontab -e перезапускать демона не обязательно.
>>Скрипт может не отработать из-за разницы в переменных окружения (типичная проблема -
>>у него другой PATH и cron просто не находит скрипт).
>>Попробуй
>>* * * * * touch /tmp/i_am_alive
>>Если файл создался через минуту - копайся в своих скрипах. Иначе -
>>будет иначе :)
>
>Странно нашел конфиг crontab-а в /etc и поправил его, и заработало )).
>Но crontab -e из командной строки правит конфиг кот. находится по
>пути : /var/spool/cron/crontab. В чем тут загвоздка ? Не понятно.

Загвоздка тут именно в том что я спрашивал. Возможно неправильно задал вопрос.
Поясню что я имел ввиду.
Есть основной файл крона - crontab , как правило он находится в /etc
и есть файлы которые создаются для каждого пользователя отдельно. На фре например эти файлы для каждого пользователя свой лежат в директории /var/cron/tabs/имя_пользователя_создавшего_кронтаб. (если память не подводит)

То что ты попроавил файл в папке /етс есть не совсем правильно. В мане написано что не рекомендуется его трогать и как раз для этого дают возможность делать свой файл крона.

Различие между эти файлами состоит в том что в файле /etc/crontab выставляется имя пользователя с правами которого будет запускаться скрипт/программа/т.д.

А в файлах которые создаются для отдельного пользователя необходимости указывать имя пользователся нет, так как этот файл уже создаётся под конкретного пользователя.

По-поводу того что нужно правильно задать переменную PATH это точно, были грабли. Тут чтобы избежать ошибки стоит скопировать содержимое переменной PATH из /etc/crontab ну и добавить своего по вкусу :) , собсно ту директорию откуда ты хочешь запускать какие-то скрипты(допустим домашний бин /home/user/bin).
По-поводу того что нужно обязательно редактировать свой файл крона через crontab -e не соответсвует истине ... хотя думаю что создать его всё же стоит именно таким образом, хотя опять же это простой текстовый файл, главное правильно оформить.

Рестарт думаю стоит сделать, хотя по идее крон каждую минуту перечитывает свои файлы конфигурации.

А вообще man твой лучший друг и советчик :) , так что man cron и man crontab.


"Проблема с cron ом"
Отправлено hex , 30-Сен-06 03:13 
cron не должен перечитывать конфиги каждую минуту. Но обязан перечитывать конфиг, отредактированный через 'crontab -e'. Поэтому стоит редактировать так, а перезапускать crond вообще не надо.

"Проблема с cron ом"
Отправлено hex , 30-Сен-06 03:16 
Загвозда в том, что у /etc/crontab и у /var/spool/cron/crontabs/* разные форматы файлов. И скорее всего ты их оформлял неправильно. Я тебе уже приводил примеры правильных строк.

"Проблема с cron ом"
Отправлено yankee , 12-Авг-08 04:23 
>[оверквотинг удален]
>>крон перезапускал
>>Я кроме ехо делал выполения скрипта кот. если запускаешь ручками отрабатывает красиво,
>>а если через крон, то скрипт не запускается ....
>После crontab -e перезапускать демона не обязательно.
>Скрипт может не отработать из-за разницы в переменных окружения (типичная проблема -
>у него другой PATH и cron просто не находит скрипт).
>Попробуй
>* * * * * touch /tmp/i_am_alive
>Если файл создался через минуту - копайся в своих скрипах. Иначе -
>будет иначе :)

если получится - с момента "Иначе" - поподробней...


"Проблема с cron ом"
Отправлено lux.place , 12-Авг-08 11:10 
>[оверквотинг удален]
>>>а если через крон, то скрипт не запускается ....
>>После crontab -e перезапускать демона не обязательно.
>>Скрипт может не отработать из-за разницы в переменных окружения (типичная проблема -
>>у него другой PATH и cron просто не находит скрипт).
>>Попробуй
>>* * * * * touch /tmp/i_am_alive
>>Если файл создался через минуту - копайся в своих скрипах. Иначе -
>>будет иначе :)
>
>если получится - с момента "Иначе" - поподробней...

Иначе - копаться.
1. Сначала убедиться, что крон запущен.
2. Потом убедиться, что он работает от root'а.
3. Затем разгрести маны, файлы /etc/cron.allow и /etc/cron.deny

Я в rhel4 натыкался на странные забавы. Крон от пользователей начинал работать только через несколько перезапусков сервиса. Но после этого уже работал как часы.

Удачи )