Re: cron не запускает за дания
Nick Potemkin wrote: On Wed, Nov 20, 2002 at 02:20:59AM +0600, Ilya Palagin wrote: Что бы я сделал :) 1) su - юзер_под_которым_не_получается (естественно у этого юзера должен быть шелл прописан). И попробовать сделать те же действия. Сделать crontab -e из-под него. Также убедись, что этот юзер действительно заведен в системе (т.е. есть не только в passwd, но и в shadow). 2) Переустановил (возможно с пересбором) крон 3) Сделал бы еще кучку тестов на то, что крон выполнять может, а что - нет :) Все оказалось проще, дело в особенностях debian-го крона и моей торопливости :-) Во время проверки работы заданий cron я выставляю время на следующую минуту после текущей. Например, если редактирование происходит в 13:45:04, я ставлю выполнение на 13:46 (чтобы меньше ждать). Так вот - в 13:46 происходит RELOAD (crontabs/user_name), а не выполнение задания! Плохо то, что задание в этом случае не выполняется и через сутки, т.е. вообще игнорируется. Самое скорое время выполнения должно выставляться еще на минуту позже! В других дистрибутивах, например ALM2, команда RELOAD вообще ни фиксируется в логе, вместо нее появляется запись о выполнении задания (что я собс-но и происходит). Охохонюшки.
Re: cron не запускает за дания
On Wed, Nov 20, 2002 at 02:20:59AM +0600, Ilya Palagin wrote: Что бы я сделал :) 1) su - юзер_под_которым_не_получается (естественно у этого юзера должен быть шелл прописан). И попробовать сделать те же действия. Сделать crontab -e из-под него. Также убедись, что этот юзер действительно заведен в системе (т.е. есть не только в passwd, но и в shadow). 2) Переустановил (возможно с пересбором) крон 3) Сделал бы еще кучку тестов на то, что крон выполнять может, а что - нет :) -- Nick Potemkin Eniro Rus-M http://www.eniro-m.ru ::: Yellow Pages Moscow http://www.yellowpages.ru phone: +7 (095) 799-55-55 fax: +7 (095) 799-55-09
Re: cron не запускает за дания
On Tue, Nov 19, 2002 at 05:41:17PM +0600, Ilya Palagin wrote: В свежеустановленном Debian 3.0 cron не запускает задания ни для root, ни для других. При этом: - cron запущен (1820 ?S 0:00 /usr/sbin/cron); - вставка заданий происходит с помощью crontab -e; - задание: 34 17 * * * touch /tmp/test_file; Лучше говорить /usr/bin/touch - пустая строка после строчки с заданием есть; Уверен? Поставь пару ) - никаких ошибок в /var/messages и /var/log/daemon.log не наблюдается. А они не там ) Они в cat /var/log/syslog|grep CRON Можно ли как-то посмотреть debug информацию? В man я этого не нашел. Как вариант запустить самого демона из-под strace -f -o /tmp/cron.strace -- Nick Potemkin
Re: cron не запускает за дания
Nick Potemkin wrote: В свежеустановленном Debian 3.0 cron не запускает задания ни для root, ни для других. При этом: - cron запущен (1820 ?S 0:00 /usr/sbin/cron); - вставка заданий происходит с помощью crontab -e; - задание: 34 17 * * * touch /tmp/test_file; Лучше говорить /usr/bin/touch Сказал - пустая строка после строчки с заданием есть; Уверен? Поставь пару ) Поставил - никаких ошибок в /var/messages и /var/log/daemon.log не наблюдается. А они не там ) Они в cat /var/log/syslog|grep CRON Ага В общем, выяснилось следующее: cron _не создает_ файл командой touch, но timestamp этого файла обновляет (если он уже существует), причем в первом случае нет никакого упоминания о запуске команды в логе. Вероятно, это следствие того, что cron работает в restricted shell? Или это как-то по-другому надо понимать? Спасибо. Можно ли как-то посмотреть debug информацию? В man я этого не нашел. Как вариант запустить самого демона из-под strace -f -o /tmp/cron.strace
Re: cron не запускает за дания
On Tue, Nov 19, 2002 at 09:45:33PM +0600, Ilya Palagin wrote: В общем, выяснилось следующее: cron _не создает_ файл командой touch, но timestamp этого файла обновляет (если он уже существует), причем в первом случае нет никакого упоминания о запуске команды в логе. Вероятно, это следствие того, что cron работает в restricted shell? Или это как-то по-другому надо понимать? Надо понимать по-другому. Такого быть не должно - у меня по крайней мере все ок. На 3.0. Запись в логе быть обязана. Если ее нет - значит крон не подхватил задание. Проверяй еще раз :) Пермишны и время очистки /tmp в том числе. -- Nick Potemkin