Respondiendo seis años después: el problema del desajuste del entorno es uno de los problemas resueltos por los systemd
"temporizadores" como reemplazo de cron. Ya sea que ejecute el "servicio" systemd desde la CLI o vía cron, recibe exactamente el mismo entorno, evitando el problema de falta de coincidencia del entorno.
El problema más común para hacer que los trabajos cron fallen cuando pasan manualmente es el $PATH
ajuste predeterminado restrictivo establecido por cron, que es esto en Ubuntu 16.04:
"/usr/bin:/bin"
Por el contrario, el valor predeterminado $PATH
establecido systemd
en Ubuntu 16.04 es:
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Por lo tanto, ya hay una mejor posibilidad de que un temporizador systemd encuentre un binario sin más problemas.
La desventaja de los temporizadores systemd es que hay un poco más de tiempo para configurarlos. Primero crea un archivo de "servicio" para definir lo que desea ejecutar y un archivo "temporizador" para definir la programación para ejecutarlo y finalmente "habilita" el temporizador para activarlo.