Rain Wiki · Linux

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.

Linux · Rain Wiki

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

Última actualización: 2026-10-08

Artículos relacionados