Здесь следует учесть несколько моментов:
В качестве альтернативы вы можете настроить зарезервированный DHCP-адрес на своем маршрутизаторе, чтобы он использовал DHCP, но ваш адрес был фиксированным.
Por lo general, para depurar estos problemas, puede ser útil agregar algo de registro, posible para cada línea. Así:
source activate python36 >> /tmp/1.log 2>&1
python opt/project1/Table_Control.py opt/project1/connection.yaml >> /tmp/2.log 2>&1
También puede configurar la tarea cron para que se inicie cada minuto para que no tenga que esperar. Debería ayudar.
Un error común al escribir secuencias de comandos que cron ejecutará más tarde es asumir que la secuencia de comandos tendrá exactamente el mismo entorno que tiene cuando inicia sesión y lo está desarrollando. ¡No lo ha hecho!
Esta respuesta explica más a fondo para verificar la diferencia en el entorno del proceso y la depuración.
Sin embargo, su línea source activate python36
asume que activar está en el directorio actual, también se supone que python
está en la ruta de la tarea cron.
Coloque su comando en su propio subshell y redirija todo a un archivo de registro para ver qué está pasando.
por ejemplo.
1 19 * * * (cd /opt/project1/ &&./start.sh) >/tmp/pr1.log 2>&1
Después del cambio
python opt/project1/Table_Control.py opt/project1/connection.yaml >> /tmp/2.log 2>&1
En el registro, encontré un error. Python no encontró el módulo de Python de solicitudes.
Cambié
python opt/project1/Table_Control.py opt/project1/connection.yaml >> /tmp/2.log 2>&1
a
/data/Anaconda2-4.4.0/envs/python36/bin/python opt/project1/Table_Control.py opt/project1/connection.yaml >> Table_Control.log >&1
p.d.
Ahora funcionó bien, PERO no entendí por qué si ejecuto desde el script de shell -sin errores,PERO si la ejecución desde el trabajo cron devolvió el error, no se encontraron solicitudes del módulo python...