Cron Ubuntu не запускает метод ruby - PullRequest
0 голосов
/ 10 марта 2011

crontab -l дает мне это

0,2,4,6,8,10 * * * * /bin/bash -l -c 'cd /home/ruben/Monitoring ; script/rails runner Ping.check_pings'

Почему это не работает? Если я попробую "cd / home / ruben / Monitoring; script / rails runner Ping.check_pings" в командной строке, то это сработает. Я также попробовал это с "&&" as ";"

Ответы [ 2 ]

0 голосов
/ 10 марта 2011

crontab не работает с окружающей средой пользователя, скорее он создает свою собственную уменьшенную среду. Это включает в себя очень маленький PATH - / usr / bin: / usr / sbin :. и некоторые другие переменные. Подробнее здесь - http://adminschoice.com/crontab-quick-reference

Самое простое решение - это добавить '. ~ / .profile 'перед запуском рельсов или для исправления пути другим способом.

Кстати, прежде чем пытаться добавить PATH = / my / path / here; $ PATH в crontab - этот синтаксис (расширение переменной) также не разрешен

0 голосов
/ 10 марта 2011

Проблема может быть связана с переменной PATH или другой переменной среды (например, GEM_HOME), которая правильно определена в среде командной строки, но не в среде cron.

...