Rake desde Cron
Una de las cosas que inevitablemente nos encontraremos haciendo tarde o temprano es ejecutar alguna tarea de Rake frecuentemente para el mantenimiento de nuestra aplicación Rails. Y obviamente, el mejor lugar para hacerlo es agregándolo como una entrada más en el Cron. Sin embargo, para hacerlo correctamente es necesario tener en cuenta que, como se explica aquí, "cuando Rake se ejecuta desde Cron, el .bash-profile no es procesado, así que es necesario incluir el entorno en tu script Cron".
Y particularmente, el entorno al que se hace referencia es el siguiente, en mi fiel Ubuntu 6.06 "Dapper Drake":
RUBYLIB=/usr/lib/ruby/1.8
GEM_PATH=/usr/lib/ruby/gems/1.8/gems
Como ejemplo completo, el script bash que ejecuta la tarea Rake de "parseo" XML para Planeta Linux Shop es el siguiente:
#!/bin/bash
export RUBYLIB=/usr/lib/ruby/1.8
export GEM_PATH=/usr/lib/ruby/gems/1.8/gems
cd /var/www/devel/planetashop/trunk
rake parse:xml RAILS_ENV=production
(A propósito hay más joyitas de este tipo en el Knowlegde Base del hoster MediaTemple).