# cron y crontab

> Cómo ejecuta cron las tareas programadas, los cinco campos de tiempo de crontab, dónde se encuentran los archivos del sistema de cron y cómo se comparan los temporizadores de systemd.

cron es el daemon clásico de Unix que ejecuta comandos según una programación. Cada usuario tiene un crontab, editado con crontab -e, en el cual cada línea tiene cinco campos de tiempo (minuto, hora, día del mes, mes, día de la semana) seguidos del comando. Las tareas del sistema se encuentran en /etc/crontab y /etc/cron.d/.

## Los campos de tiempo

'30 2 * * *' significa las 02:30 todos los días; '*/10 * * * *' cada diez minutos; '0 9 * * 1' las 09:00 todos los lunes. El día de la semana 0 y 7 corresponden al domingo.

## Archivos del sistema

Los archivos en /etc/cron.d/ y /etc/crontab tienen un campo adicional, el nombre de usuario, entre el tiempo y el comando. Directorios como /etc/cron.daily contienen scripts que se ejecutan una vez al día.

## Errores comunes

cron se ejecuta con un entorno mínimo: use rutas completas o configure PATH en el crontab. La salida se envía por correo al propietario o se pierde; rediríjala a un archivo de registro. El carácter % tiene un significado especial en las líneas de crontab y debe escaparse como \%.

## temporizadores de systemd

En distribuciones con systemd, las unidades .timer son una alternativa que incluye registro en el journal, retrasos aleatorios y recuperación de ejecuciones perdidas (Persistent=true).

## Cómo añadir una tarea diaria

1. Abra su crontab: crontab -e
2. Añada una línea, por ejemplo: 30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
3. Guarde y salga; cron detecta el cambio automáticamente.
4. Liste las tareas: crontab -l

## Precauciones

- 'crontab -r' elimina todo el crontab sin preguntar.
- Pruebe el comando manualmente con el mismo usuario antes de programarlo.

## Fuentes

- [crontab(5)](https://man7.org/linux/man-pages/man5/crontab.5.html)
- [crontab(5) (Debian)](https://manpages.debian.org/bookworm/cron/crontab.5.en.html)
- [systemd.timer(5)](https://man7.org/linux/man-pages/man5/systemd.timer.5.html)

Última actualización: 2026-10-08
URL: https://raincleaner.eu/es/wiki/linux/cron
