¿cron ignorando las variables de entorno?

¿cron ignorando las variables de entorno?

Esto debería ser simple, pero no parece funcionar. Tengo un script muy simple ejecutado por cron:

export [email protected]
[email protected]
echo "MAILTO is set to $MAILTO"

Cron, sin embargo, parece no estar detectando la variable MAILTO: los correos electrónicos cron se ven, en parte, así:

X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/deploy>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=deploy>
Date: Thu, 20 Sep 2012 13:05:01 -0700

MAILTO is set to [email protected]

¿Qué me estoy perdiendo? ¿Por qué cron no recoge las variables de entorno establecidas en el script?

Respuesta1

Un proceso en Unix puede cambiar sus propias variables de entorno y puede definir las variables de entorno de sus hijos cuando se crean esos hijos. Un proceso no puede cambiar las variables de entorno de sus padres, las de sus hijos después de crearlos o las de cualquier otro proceso.

Parece como si estuviera intentando que un trabajo cron cambiara las variables de entorno del cron, lo cual es imposible.

Respuesta2

Supongo que no has iniciado sesión como el mismo usuario con el que se ejecuta el cron. De ahí la creación de la discrepancia.

Respuesta3

Establezca MAILTOla variable de entorno en el crontabarchivo. cronsimplemente ignore las variables de entorno por razones de seguridad. Si MAILTOno se especifica, el resultado se enviará por correo al propietario del proceso que produjo el resultado.

información relacionada