Cron siempre se ejecuta con un entorno mayormente vacío. HOME
, LOGNAME
y SHELL
se establecen; y un PATH
muy limitado . Por lo tanto, es recomendable usar rutas completas a los ejecutables y exportar cualquier variable que necesite en su secuencia de comandos cuando use cron
.
Hay varios enfoques que puede usar para establecer sus variables de entorno en cron
, pero todos equivalen a configurarlo en su secuencia de comandos.
Enfoque 1:
Configure cada variable que necesite manualmente en su secuencia de comandos.
Enfoque 2:
Fuente de su perfil:
. $HOME/.bash_profile
(o . $HOME/.profile
)
(Por lo general, encontrará que el archivo anterior generará otros archivos (por ejemplo, ~/.bashrc
--> /etc/bashrc
--> /etc/profile.d/*
) - si no, también puede obtenerlos).
Enfoque 3:
Guarde sus variables de entorno en un archivo (ejecútelo como el usuario deseado):
env > /path/to/my_env.sh
Luego importe a través de su secuencia de comandos cron:
env - `cat /path/to/my_env.sh` /bin/sh
Enfoque 4:
En algunos casos, puede configurar global cron
variables en /etc/default/cron
. Sin embargo, existe un elemento de riesgo en esto, ya que estos se establecerán para todos los cron
trabajos.