Сценарий чувствителен к местоположению. Это связано с всегда использованием абсолютных путей в скрипте, но не совсем то же самое. Перед запуском вашего задания cron может понадобиться cd в конкретный каталог. задача rake в приложении Rails, возможно, должна быть в корне приложения для Rake для поиска правильной задачи, не говоря уже о соответствующей конфигурации базы данных и т. д.
Итак, запись crontab из
23 3 * * * /usr/bin/rake db:session_purge RAILS_ENV=production
будет лучше, чем
23 3 * * * cd /var/www/production/current && /usr/bin/rake db:session_purge RAILS_ENV=productionИли, чтобы сохранить вход crontab проще и менее хрупким:
23 3 * * * /home/<user>/scripts/session-purge.sh
со следующим кодом в /home/<user>/scripts/session-purge.sh:
cd /var/www/production/current /usr/bin/rake db:session_purge RAILS_ENV=production