1. ¿Qué es Cron?
Cron es un programador de tareas basado en el tiempo en sistemas operativos Linux y Unix. Se utiliza principalmente para que administradores de sistemas y desarrolladores automaticen tareas que necesitan ejecutarse de manera periódica. En Ubuntu, Cron viene instalado por defecto y se emplea en múltiples escenarios como la administración del servidor, copias de seguridad y ejecución programada de scripts.
Cómo funciona Cron
Cron funciona a través de un archivo llamado «crontab», en el cual se especifican los comandos a ejecutar en horarios o intervalos determinados. Crontab consta de cinco campos, y los valores que se definan en cada uno permiten establecer con precisión cuándo debe ejecutarse la tarea.
- Minuto (0–59)
- Hora (0–23)
- Día del mes (1–31)
- Mes (1–12)
- Día de la semana (0–7, donde 0 y 7 representan domingo)
Por ejemplo, una tarea como «ejecutar una copia de seguridad todos los días a las 5 de la mañana» se escribiría en el crontab de la siguiente forma:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
De esta manera, Cron permite automatizar tareas recurrentes, siendo esta una de sus características más potentes.
¿Quién debería usar Cron?
Cron es una herramienta esencial no solo para administradores de sistemas, sino también para desarrolladores que buscan optimizar tareas diarias o para cualquier persona que necesite ejecutar scripts periódicamente en un servidor.

2. Configuración de un trabajo en Cron
Cómo editar el Crontab
Para configurar un trabajo en Cron, es necesario editar el archivo «crontab». En Ubuntu, se accede mediante el comando crontab -e
, que abre el archivo crontab del usuario actual.
crontab -e
Sintaxis básica de un trabajo en Cron
Un trabajo en crontab contiene campos de tiempo y el comando a ejecutar. Este es el formato típico:
minuto hora día mes día_de_semana comando
Por ejemplo, el siguiente Cron crea una copia de seguridad de la carpeta /home/
todos los días a las 5:00 AM:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Guardar y verificar el Crontab
Tras añadir un trabajo en crontab, se deben guardar los cambios y cerrar el editor. Para verificar si la configuración se aplicó correctamente, se puede listar los trabajos actuales con:
crontab -l
3. Programación avanzada de Cron
Ejecutar tareas en intervalos personalizados
Si se requiere ejecutar tareas cada minuto o cada 5 minutos, se configuran de la siguiente forma:
- Cada minuto:
* * * * * /path/to/script.sh
- Cada 5 minutos:
*/5 * * * * /path/to/script.sh
Ejecución en días y horas específicas
Para ejecutar tareas solo ciertos días u horas, se especifica el valor en el campo de día de la semana. Por ejemplo, para ejecutar un script los lunes a las 2:15 AM:
15 2 * * 1 /path/to/script.sh
4. Manejo de errores y resolución de problemas
Problemas comunes en Cron y soluciones
El trabajo no se ejecuta
Si un Cron no se ejecuta, verifica los siguientes puntos:
- Permisos: asegúrate de que el script o comando tenga permisos de ejecución.
- Rutas absolutas: Cron usa un entorno limitado, por lo que se recomienda usar rutas completas para comandos y archivos.
/usr/bin/python3 /path/to/script.py
Revisar los registros
Los resultados y errores de Cron se registran en /var/log/syslog
. Para diagnosticar por qué no se ejecutó una tarea, revisa este archivo.
grep CRON /var/log/syslog

5. Consideraciones de seguridad
Control de acceso de usuarios
Para restringir qué usuarios pueden configurar trabajos en Cron, se utilizan los archivos /etc/cron.allow
y /etc/cron.deny
. Si un usuario se añade a /etc/cron.allow
, solo él podrá configurar tareas.
echo "nombre_usuario" >> /etc/cron.allow
Seguridad de login y Cron
Al ejecutar trabajos en Cron, puede ser necesario automatizar claves SSH o gestionar contraseñas para evitar errores de autenticación.
6. Uso de Anacron: tareas de baja frecuencia
¿Qué es Anacron?
Anacron es un programador diseñado para sistemas que no están en funcionamiento constante. Permite ejecutar las tareas omitidas durante el tiempo que el sistema estuvo apagado, lo que lo hace ideal para computadoras de escritorio o portátiles.
7. Ejemplos prácticos de Cron
Automatización de copias de seguridad
Ejemplo de un Cron para realizar copias de seguridad diarias:
0 2 * * * tar -zcf /var/backups/home_backup_$(date +%Y-%m-%d).tgz /home/
8. Conclusión
Con Cron y Anacron es posible automatizar eficazmente tareas periódicas, lo que incrementa la confiabilidad de la administración del sistema. Ambos reducen costos operativos y permiten automatizar tareas críticas de mantenimiento. Pruébalos en tu entorno y comprueba sus beneficios.