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).

 

RSS Blog