Sistema Crontab o Root Crontab

10

Sistema crontab:

/etc/crontab

Crontab raíz:

sudo crontab -u root -e

¿Qué camino se prefiere? Como todos ellos ejecutan tareas dentro del privilegio de administración.

Pei Z
fuente

Respuestas:

15

/etc/crontab es el crontab de todo el sistema.

El formato de /etc/crontabes así:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

mientras crontab -ees por usuario, vale la pena mencionar sin -uargumento que el comando crontab va al crontab de los usuarios actuales. Puede hacer crontab -e -u <username>para editar un crontab de usuarios específico.

Observe que en un crontab por usuario no hay un campo 'usuario'.

# m h  dom mon dow  command
*   *   *   *   *   echo 'foo'

Un aspecto de crontabs que puede ser confuso es que root también tiene su propio crontab. por ejemplo crontab -e -u root, no editará /etc/crontab Consulte Configuración de cron .

En las distribuciones de Linux, los crontabs por usuario generalmente se almacenan en: /var/spool/crontabs/<username>

Referencias

/superuser/290093/difference-between-etc-crontab-and-crontab-e

Ramesh
fuente
2
Como dice Congiruring cron : generalmente no hay necesidad de crear un crontab de usuario para root. ¿Es eso cierto? Quiero decir, la forma estándar es editar el / etc / crontab, ¿estoy en lo cierto?
Pei Z
2
No hay una forma "estándar", por lo tanto, puede tener ambos archivos. Usualmente edito el crontab de root y evito /etc/crontabsolo porque estoy acostumbradocrontab -e
phoops
7

/etc/cron.d (y sus hermanos cron.daily / semanal / mensual) se prefiere para todos los crontabs del sistema. No debería necesitar tocar / etc / crontab.

Es esencial separar las entradas de cron en varios archivos, en función de su funcionalidad si planea administrar o automatizar cosas. Los archivos bajo /etc/cron.d se pueden administrar fácilmente mediante paquetes o herramientas de administración de configuración como puppet y chef. El crontab OTOH de Root es prácticamente imposible de mantener por otros que no sean humanos.

En resumen, para cosas del sistema puedes usar /etc/cron.*. Si hay algo que le gustaría que hiciera el usuario root, use el crontab de root. / etc / crontab debe dejarse intacto y gestionado por un paquete.

V13
fuente