Contents
Automatizar tareas de mantenimiento con Cron
Cron es una herramienta fundamental en sistemas Unix y Linux para programar la ejecución de tareas de mantenimiento de forma periódica. Gracias a su flexibilidad y bajo consumo de recursos, se ha convertido en el estándar de facto para automatizar scripts, copias de seguridad, limpiezas de log y mucho más.
1. ¿Qué es Cron y cómo funciona
Cron es un demonio (daemon) que se ejecuta en segundo plano y comprueba cada minuto si existe alguna tarea programada en los archivos de configuración (crontabs). Cuando detecta una coincidencia entre la hora actual y la expresión temporal definida, lanza el comando o script correspondiente.
- Daemon: proceso
cron
responsable de leer configuraciones y ejecutar las tareas. - Crontab: archivo de configuración que define las tareas y su frecuencia.
- Syslog: registro donde
cron
apunta información sobre ejecuciones y posibles errores.
2. Componentes clave en la configuración
Elemento | Descripción | Ubicación típica |
---|---|---|
/etc/crontab |
Configuración global del sistema. | /etc/crontab |
/etc/cron.d/ | Directorios para archivos crontab adicionales. | /etc/cron.d/ |
crontab -e | Crontab personalizado por usuario. | /var/spool/cron/ |
3. Sintaxis de la expresión Cron
Cada entrada en un crontab consta de seis campos:
Campo | Valores | Descripción |
---|---|---|
Minuto | 0–59 | Minuto de la hora |
Hora | 0–23 | Hora del día |
Día del mes | 1–31 | Día del mes |
Mes | 1–12 | Mes del año |
Día de la semana | 0–7 (0 y 7 DOM) | Día de la semana |
Comando | Script o comando a ejecutar |
Se pueden usar caracteres especiales:
- para todos los valores posibles.
- , para separar valores (p.ej. 1,15 para los días 1 y 15).
- – para rangos (p.ej. 9-17 horas laborables).
- / para incrementos (p.ej. /5 cada 5 minutos).
4. Ejemplos prácticos
0 2
– Ejecuta una copia de seguridad diaria a las 02:00./15
– Limpia archivos temporales cada 15 minutos.0 0 1
– Envía un informe mensual el primer día de cada mes a medianoche.0 3 0
– Optimiza la base de datos cada domingo a las 03:00.
5. Ventajas y buenas prácticas
- Consistencia: Todas las tareas se ejecutan en horarios controlados.
- Auditoría: Cron registra en
/var/log/cron
o syslog. - Modularidad: Separar scripts en
/etc/cron.daily
,/etc/cron.hourly
, etc. - Notificaciones: Redirigir salida estándar y errores a archivos o correos.
- Seguridad: Evitar permisos excesivos y validar rutas absolutas.
6. Monitoreo y solución de problemas
- Verificar logs en
/var/log/cron
o/var/log/syslog
. - Probar manualmente el script con el mismo usuario de Cron.
- Comprobar variables de entorno Cron no carga
.bashrc
. - Usar
MAILTO
en crontab para recibir salidas.
7. Recursos y referencias
Artículo generado para ofrecer una guía completa sobre la automatización de tareas de mantenimiento en sistemas Unix/Linux con Cron.
|
Acepto donaciones de BAT's mediante el navegador Brave 🙂 |