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.