Как правило, такие вещи случаются либо из-за путей (то есть вы не видите правильный database.yml или чего-то еще), либо из-за разрешений (вы не делаете это как правильный пользователь).
Шаблон, который обычно работает для меня, - это поместить запись в crontab следующим образом:
cd path/to/rails/app-root; script/runner MyController.thing_to_do
в crontab (псевдо) -пользователя, под которым приложение запускается.