Necesita configurar el entorno rvm antes de cada trabajo cron

nstalé y configuré RVM siguiendo aproximadamente el patrón descrito en la primera parte de este conjunto de instrucciones:http: //blog.ninjahideout.com/posts/a-guide-to-a-nginx-passenger-and-rvm-serve

ásicamente, esto significa que no hay un sistema Ruby precompilado (todas las instalaciones de Ruby son administradas por RVM) y RVM se instala en todo el sistema en lugar de estar conectado a un usuario en particular (archivos en/usr/local/rvm) para que todos los usuarios de larvm group puede acceder a los mismos rubíes con las mismas gemas instaladas.

Un problema con la configuración del sistema de esta manera es que el entorno rvm debe configurarse en una sesión de shell antes de poder usar ruby. Para todos los usuarios de rvm, pongo esto en su .bashrc: source "/usr/local/rvm/scripts/rvm". Esto funciona bien para sesiones ssh.

El problema entra en juego para trabajos cron, que no ejecutan .bashrc. El script rvm anterior (/ usr / local / rvm / scripts / rvm) es considerablemente más complicado que configurar algunas variables de entorno, por lo que me gustaría ejecutar este comando antes de cada trabajo en el archivo.

Claro, podría hacerlo manualmente, así:

1 2 * * * source "/usr/local/rvm/scripts/rvm"; /do/some/cron/job/1
3 4 * * * source "/usr/local/rvm/scripts/rvm"; /do/some/cron/job/2
5 6 * * * source "/usr/local/rvm/scripts/rvm"; /do/some/cron/job/3
7 8 * * * source "/usr/local/rvm/scripts/rvm"; /do/some/cron/job/4

Pero preferiría hacer algo como esto:

[execute] source "/usr/local/rvm/scripts/rvm"

1 2 * * * /do/some/cron/job/1
3 4 * * * /do/some/cron/job/2
5 6 * * * /do/some/cron/job/3
7 8 * * * /do/some/cron/job/4

Obviamente, la sintaxis anterior no funciona. Pero, ¿hay alguna forma de hacer que esto funcione? Las páginas de manual de cron y la documentación no fueron de mucha ayuda aquí. ¿Pero hay algún truco o forma estándar de lograr esto?

Si importa, estoy ejecutando Ubuntu 10.10 (Maverick Meerkat).

Respuestas a la pregunta(4)

Su respuesta a la pregunta