Puede ser útil tener en cuenta que los trabajos en un crontab personal ( crontab -e
) siempre se ejecutan como su propietario, donde /etc/crontab
contiene un <user>
campo obligatorio adicional que permite a un administrador configurar el trabajo para que se ejecute como un usuario no root.
Editar el crontab del sistema o configurar un crontab personal para root es probablemente un poco más portátil, no específico para ciertas distribuciones de Linux y posiblemente más conveniente para una persona , con todos los trabajos en un solo archivo pero:
Personalmente, prefiero una tercera opción : para cada tarea programada, descartar
- un archivo
/etc/cron.d/
con un fragmento de cron
- un ejecutable (script) en el
/etc/cron.[hourly |daily |weekly |monthly]
directorio correspondiente .
Eso es más fácil de escribir (simplemente puede crear / sobrescribir / eliminar dichos archivos y no tiene que perder el tiempo en el contenido de un solo archivo crontab) y eso funciona bien con las herramientas de administración de configuración y eso es lo que los administradores de paquetes ya son haciendo de todos modos.
Los trabajos / scripts en /etc/cron.[hourly |daily |weekly |monthly]
siempre se ejecutan como root, donde los fragmentos de cron /etc/cron.d/
permiten tanto establecer una programación personalizada como ejecutarse como un usuario diferente con el mismo <user>
campo obligatorio encontrado /etc/crontab
.