1 votos

Ejecutar Cron con una versión actualizada de Bash

¿Hay alguna forma de hacer que cron se ejecute con una versión actualizada de Bash que se haya instalado?

Mi sistema operativo venía con Bash 3.x instalado de fábrica y lo he actualizado a 5.x con macports.

Cuando consulto bash --version desde una ventana de terminal.app se informa de la versión 5.x.

Si ejecuto la misma consulta desde un trabajo cron: * * * * * /temp/test_bash.sh >> /tmp/test_bash.log 2>&1 se informa de la versión 3.x que venía de serie con el SO.

MacOS 10.10.5

0 votos

Cron se ejecuta fuera del shell normal, por lo que sólo tienes que poner la ruta completa para todos los ejecutables en tu script. Todo lo que mencionas es una gran historia de fondo, pero ¿cuál es el comando que estás ejecutando y qué resultados te hacen pensar que está fallando? Una edición detallando algo concreto que se esté ejecutando nos ayudaría a ayudarte (como ¿qué comando estás invocando para comprobar o cambiar la ficha?)

0 votos

@bmike Estoy corriendo bash --version desde la terminal, y desde cron. En el caso de la tarea cron se dirige a un archivo de registro. He actualizado el post para reflejar la parte del archivo de registro. Por favor, hágame saber si hay otros detalles que le resulten útiles.

1voto

Oskar Puntos 1242

Esto debería ser fácil de clasificar.

Desde su shell, examine la ruta completa del bash que prefiera

which bash

A continuación, edite su script en tmp para llamar a la misma ruta a bash (o su script tiene a la fuente en los archivos de punto, pero es costumbre sólo hacer que cada elemento en cron saber la ruta completa adecuada y no depender de los archivos de inicio y de inicio de sesión ya que es mucho más ligero para cron )

Terminaré con un último enlace sobre buenas costumbres para el entorno cron t siendo intencionalmente diferente a un shell interactivo.

0 votos

Como OP está usando macports la ruta es /opt/local/bin

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X