Para evitar tener que escribir la ruta absoluta a un comando, los shells introdujeron la $PATH
variable de entorno, cada directorio está separado por a :
y las búsquedas se realizan de izquierda a derecha. cron
a menudo borra todo el entorno, incluida esta $PATH
variable. Por lo tanto, el script puede comportarse de manera diferente en su cron en comparación con el comportamiento en el shell.
Usa caminos absolutos
Ejecútelo which db2
como db2inst1
usuario para obtener la ruta completa del db2
programa. Si el resultado es /usr/bin/db2
, su comando cron se vería así:
/usr/bin/db2 connect to myDB2
Establecer la variable RUTA
Ejecute echo "$PATH"
como db2inst1
usuario para obtener la $PATH
variable y asegúrese de que esta variable también esté disponible en su secuencia de comandos cron. Por ejemplo, si el resultado fuera /usr/local/bin:/usr/bin:/bin
, colocaría la siguiente línea en la parte superior de su script de shell:
export PATH="/usr/local/bin:/usr/bin:/bin"
Debe definir qué son db2 y myDB2 ; de lo contrario, utilice la ubicación absoluta de ' archivo ' o ' aplicación ' que desea ejecutar.
Ejemplo:
fuente