En la administración de sistemas Linux, muchas tareas deben ejecutarse automáticamente: copias de seguridad, limpieza de archivos temporales, ejecución de scripts o mantenimiento del sistema.
Aquí es donde entra crontab, una herramienta fundamental que permite programar tareas para que se ejecuten de forma automática en intervalos definidos.
En esta guía aprenderás qué es crontab, cómo funciona, su sintaxis y varios ejemplos prácticos que puedes aplicar inmediatamente en cualquier servidor Linux.
Si quieres aprender más sobre Linux, revisa nuestra Guía completa de comandos Linux y nuestro Curso de Linux gratis , te ayudarán a dominar la terminal y a sacar el máximo provecho de este artículo.
Definición de crontab
Crontab (cron table) es un archivo de configuración utilizado por el servicio cron en sistemas Linux y Unix para programar tareas automáticas.
Permite ejecutar comandos o scripts en momentos específicos como:
- Cada minuto
- Cada hora
- Cada día
- Cada semana
- En fechas concretas
Gracias a crontab, los administradores pueden automatizar procesos sin intervención manual.
Crontab en Linux: Guía completa 2026
El funcionamiento de crontab se basa en el servicio cron, un daemon que se ejecuta en segundo plano y verifica constantemente si existe alguna tarea programada para ejecutarse.
Cada usuario del sistema puede tener su propio archivo crontab con tareas independientes.
Cuando llega la hora definida, cron ejecuta automáticamente el comando indicado.
Sintaxis de crontab
La estructura básica de una tarea es:
* * * * * comando
│ │ │ │ │
│ │ │ │ └── Día de la semana (0 - 7)
│ │ │ └──── Mes (1 - 12)
│ │ └────── Día del mes (1 - 31)
│ └──────── Hora (0 - 23)
└────────── Minuto (0 - 59)Significado de cada campo
| Campo | Descripción |
|---|---|
| Minuto | Momento exacto dentro de la hora |
| Hora | Hora de ejecución |
| Día del mes | Día específico |
| Mes | Mes del año |
| Día semana | Día de la semana |
El símbolo * significa todos los valores posibles.
Utiliza crontab guru para ayudarte a generar tus crontabs.
Comandos básicos de crontab
Editar crontab
crontab -eAbre el editor para añadir o modificar tareas programadas.
Listar tareas activas
crontab -lMuestra todas las tareas configuradas para el usuario actual.
Eliminar todas las tareas programadas
crontab -rEjemplos prácticos
#todos los dias, todos los minutos, comprobar ping
* * * * * ping -c 1 8.8.8.8 >> /var/log/check-internet.txt
#backup todos los dias a las 2:30 de la mañana
30 2 * * * tar -czf backup.tar.gz /home/importante
#borrar tmp el día 1 de cada mes a las 4:30
30 4 1 * * rm -rf /tmp
#a las 3:30 de la mañana, pero solo entre semana(de l a v)
30 3 * * 1-5 /usr/bin/python3 /home/usuario/reporte-diario.py
#cada 30 min
*/30 * * * * /home/kamilinux/check-servicios-up.shErrores comunes al usar crontab
- Usar rutas relativas
- Cron no utiliza el mismo entorno que la terminal.
- Problemas de permisos
- Asegúrate de que el script tenga permisos de ejecución
- Variables de entorno
- Cron carga menos variables que una sesión normal, algunos comandos pueden fallar
Cómo comprobar si funciona
Puedes redirigir la salida a un archivo log:
* * * * * /home/user/script.sh >> /home/user/log.txt 2>&1También puedes revisar los logs del sistema:
cat /var/log/syslog | grep CRONBuenas prácticas
- Usar siempre rutas absolutas
- Registrar logs de ejecución
- Probar scripts manualmente antes
- Evitar tareas duplicadas
- Documentar cada tarea programada
