GNU/Linux >> Tutoriales Linux >  >> Linux

La ejecución de crontab no tiene las mismas variables de entorno que el usuario que ejecuta

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.


Linux
  1. ¿Cómo establecer una variable de entorno en la línea de comandos y hacer que aparezca en los comandos?

  2. ¿Cuál es la mejor forma independiente de distro/shell para establecer variables de entorno?

  3. ¿La diferencia en el uso entre las variables de shell y las variables de entorno?

  4. ¿Usando variables de entorno en archivos Tmux.conf?

  5. Crontab Log:cómo registrar la salida de mi secuencia de comandos Cron

Cómo establecer la variable de entorno en Windows

Cómo establecer variables de entorno en MacOS

Cómo establecer y enumerar variables de entorno en Linux

Cómo establecer y enumerar variables ambientales en Linux

Cómo configurar y desactivar variables de entorno en Linux

¿Cómo imprimir variables de entorno aparentemente ocultas?