Solución:
Archivos en /etc/cron.d
también es necesario enumerar los usuario que el trabajo se va a ejecutar.
es decir
0,15,30,45 * * * * root /backup.sh >/dev/null 2>&1
También debe asegurarse de que los permisos y propietario: grupo estén configurados correctamente (-rw-r--r--
y propiedad de root:root
)
Otra cosa que he observado es que el archivo en /etc/cron.d
no puede tener una extensión. En mi caso particular, tenía un enlace simbólico:
# my-job.crontab
* * * * * root echo "my job is running!" >> /tmp/my-job.log
$: ln -sf /home/me/my-job.crontab /etc/cron.d/
# This did not work -> job would not run
$: ln -sf /home/me/my-job.crontab /etc/cron.d/my-job
# This did work -> job ran fine
La restricción del nombre de archivo se documenta en la página de manual de la parte de ejecución: http://manpages.ubuntu.com/manpages/xenial/man8/run-parts.8.html, se puede pasar una opción –regex para anular el formato de archivo.
Sin embargo, el comportamiento cron predeterminado se mantuvo sin extensiones, consulte los comentarios en: https://bugs.launchpad.net/ubuntu/+source/debianutils/+bug/38022
Creo que probablemente te falte una línea en blanco necesaria al final de tu archivo cron. Tuve el mismo problema, pero después de verificar todo lo que se enumera aquí (permisos de usuario, nombre de archivo, versión cron, etc.), me di cuenta de que no tenía un salto de línea después de la última entrada en mi /etc/cron.d/own_cron
y eso hace que se ignore todo el archivo.