¿Cuál es la principal diferencia entre el directorio cron.d (como en /etc/cron.d/
) y crontab
?
Por lo que yo entiendo, uno podría crear un archivo como /etc/cron.d/my_non_crontab_cronjobs
y poner lo que quiera dentro de él, tal como lo haría a crontab
través de crontab -e
.
Entonces, ¿cuál es la principal diferencia entre los dos?
crontab
.Respuestas:
Las diferencias se documentan en detalle en la página de
cron(8)
manual de Debian. La principal diferencia es que/etc/cron.d
se rellena con archivos separados, mientras quecrontab
administra un archivo por usuario; Por lo tanto, es más fácil administrar el contenido del/etc/cron.d
uso de scripts (para instalación y actualizaciones automáticas), y más fácil de administrarcrontab
usando un editor (para usuarios finales realmente).Otras diferencias importantes son que no todas las distribuciones son compatibles
/etc/cron.d
, y que los archivos/etc/cron.d
deben cumplir un cierto número de requisitos (más allá de ser trabajos cron válidos): deben ser propiedad de root y deben cumplir conrun-parts
las convenciones de nomenclatura ( sin puntos , solo letras, dígitos, guiones bajos y guiones).Si usted está considerando usar
/etc/cron.d
, por lo general vale la pena considerar uno de/etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
, o/etc/cron.monthly
en su lugar.fuente
cron.d
se suelen agregar mediante la instalación del paquete, mientras que los diversoscrontab
archivos están llenos de cosas creadas por un usuario correspondiente. Es decir, el paquetecertbot
oletsencrypt
coloca una entradacron.d
: antes de que el paquete estuviera disponible, el administrador del sistema (root) agregaría una entrada en el usuario raíz quecrontab
apunta a un script de shell / etc. para mantener los certificados actualizados.(8)
anacron
.hourly|daily|weekly|monthly
directorios es que (AFAICT), siempre se ejecutan como root y no admiten directamente la ejecución con menos privilegios.Yo diría que la diferencia principal es la obvia:
/etc/crontab
y/etc/cron.d
no son modificables por los usuarios normales, mientras que los crontabs por usuario en los/var/spool/cron
que lacrontab
herramienta edita sí lo son. (Sujetocron.allow
ycron.deny
, por supuesto). Por supuesto, en un sistema en el que usted sea el administrador, puede usar cualquiera de los dos. En un sistema compartido, los usuarios habituales solo pueden usar uno.Relacionado con esto está el campo adicional en los archivos de todo el sistema, el nombre de usuario bajo el cual se ejecuta el trabajo.
fuente