Esto es lo que hice en Debian Jessie:
- instalar cron a través de
apt-get install cron - poner un
backup_crontabarchivo en/etc/cron.d/
Sin embargo, la tarea nunca se está ejecutando.
Aquí hay algunos resultados:
/# crontab -l
no crontab for root
/# cd /etc/cron.d && ls
backup_crontab
/etc/cron.d# cat backup_crontab
0,15,30,45 * * * * /backup.sh >/dev/null 2>&1
¿Hay algo que hacer para activar un crontab en particular, o para activar el "servicio" cron en sí mismo?

ls /etc/cron.des equivalente acd /etc/cron.d && lsen términos de producción. La única diferencia es que el directorio de trabajo no cambiará.Respuestas:
Los archivos que
/etc/cron.dnecesitan también enumeran al usuario con el que se ejecutará el trabajo.es decir
También debe asegurarse de que los permisos y el propietario: el grupo estén configurados correctamente (
-rw-r--r--y sean propiedad deroot:root)fuente
crontab -linforma sobre las entradas cron en/var/spool/cron/crontabs/, es decir, las crontabs por usuario ./etc/cron.dlos archivos son crontabs del sistema y no son reportados porcrontab -l.rootel archivo, simplementecrontab -lno lo mencioné, ya que explicaste por qué, gracias por tu ayudaetc/cron.dun archivo con un punto en el medio del nombre y el trabajo nunca se ejecutó hasta que leOtra cosa que he observado es que el archivo
/etc/cron.dno puede tener una extensión. En mi caso particular, tenía un enlace simbólico:La restricción de nombre de archivo se documenta en la página man de run-part: http://manpages.ubuntu.com/manpages/xenial/man8/run-parts.8.html , se puede pasar una opción --regex para anular el formato del archivo.
Sin embargo, el comportamiento predeterminado de cron se mantuvo sin extensiones, vea los comentarios en: https://bugs.launchpad.net/ubuntu/+source/debianutils/+bug/38022
fuente
Creo que probablemente te falta una línea en blanco necesaria desde el final de tu archivo cron. Tuve el mismo problema, pero después de verificar todo lo enumerado 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_crony eso hace que se ignore todo el archivo.fuente
Si eres el único usuario en esta computadora, es posible que quieras usar solo
crontab -e. Se le pedirá que seleccione un editor la primera vez que ejecute el comando. Entonces puedes agregarle esto:Si cambia a una cuenta de usuario normal, deberá usarla
sudo crontab -epara configurar los scripts que desea programar para que se ejecutenroot.crontab -lsolo muestra el crontab actual, una vez que configura uno usandocrontab -e. Si tiene un archivo cron en/etc/cron.d/, no se mostrará concrontab -l.También tendrá que comprobar que el script es ejecutable con:
chmod +x /backup.sh.fuente
Dockerfileasí que realmente no puedo hacerlocrontab -e, pero de todos modos es una información útilPara Cron de * bian distros (como Raspbian) necesita habilitar el
-lparámetro del demonio Cron. Es recomendable hacerlo usando el/etc/default/cronarchivo de configuración, habilitando elEXTRA_OPTS.fuente
-lopción para el demonio cron autoriza un conjunto extendido de nombres de archivo en el/etc/cron.ddirectorio, por lo que si el archivo se ignora silenciosamente porque hay un punto en él, entonces "agregar -l" o "eliminar punto" corregirá el problema.Comprueba tu versión de
cron.Parece que si está usando el crond de Dillon, no necesita el usuario en una
/etc/cron.dentrada.Me di cuenta de esto después de casi arrancarme el pelo restante.
Tengo un puñado de entradas que han sido eliminadas
/etc/cron.dpor varias instalaciones. Después de una investigación, descubrí que uno de ellos estaba funcionando. No tenía el usuario. Así que saqué al usuario de los demás. Y comenzaron a trabajar.fuente