Para evitar tener que escribir la ruta absoluta a un comando, los shells introdujeron la $PATHvariable de entorno, cada directorio está separado por a :y las búsquedas se realizan de izquierda a derecha. crona menudo borra todo el entorno, incluida esta $PATHvariable. 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 db2como db2inst1usuario para obtener la ruta completa del db2programa. 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 db2inst1usuario para obtener la $PATHvariable 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