Pregunta:
¿Cómo se utilizan los archivos de /etc/cron.d?
De https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
cron lee los archivos en el directorio /etc/cron.d/. Por lo general, el demonio del sistema, como sa-update o sysstat, coloca aquí su trabajo cron. Como usuario root o superusuario, puede utilizar los siguientes directorios para configurar trabajos cron. Puede soltar directamente sus scripts aquí . El comando run-parts ejecuta scripts o programas en un directorio a través del archivo / etc / crontab :
/etc/cron.d/ Coloque todos los scripts aquí y llámelos desde el archivo / etc / crontab.
En Lubuntu 18.04, los archivos en /etc/cron.d parecen ser archivos crontab, no scripts de shell (que se mencionó en el enlace anterior):
$ cat /etc/cron.d/anacron
# /etc/cron.d/anacron: crontab entries for the anacron package
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
30 7 * * * root [ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi
Mi archivo / etc / crontab nunca hace referencia a archivos en / etc / cron.d, al contrario de lo que dice el enlace:
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
¿Podría explicar cómo se utilizan los archivos de /etc/cron.d? Gracias.
Respuesta:
En los derivados de Debian, incluido Lubuntu, los archivos en /etc/cron.d
son, efectivamente, fragmentos de /etc/crontab
, con el mismo formato. Citando la página de manual de cron
:
Además, en Debian,
cron
lee los archivos en el directorio/etc/cron.d
.cron
trata los archivos en/etc/cron.d
de la misma manera que el/etc/crontab
(siguen el formato especial de ese archivo, es decir, incluyen el campo de usuario). Sin embargo, son independientes de/etc/crontab
: no heredan, por ejemplo, la configuración de las variables de entorno. Este cambio es específico de Debian; consulte la nota en ESPECÍFICO DE DEBIAN a continuación.Al igual que
/etc/crontab
, los archivos del directorio/etc/cron.d
se controlan para detectar cambios. En general, el administrador del sistema no debe usar/etc/cron.d/
, sino el crontab/etc/crontab
sistema estándar.
La sección específica de Debian sugiere la razón por la que los administradores del sistema no deberían usar /etc/cron.d
:
Soporte para
/etc/cron.d
(directorio desplegable para el paquete crontabs)
Está diseñado para permitir que los paquetes instalen fragmentos de crontab sin tener que modificar /etc/crontab
.