1. ¿Qué es Cron?
Cron es un programador de tareas basado en tiempo que se usa en sistemas operativos Linux y tipo Unix. Lo utilizan principalmente los administradores de sistemas y los desarrolladores para automatizar tareas que deben ejecutarse de forma regular. En Ubuntu, Cron se instala por defecto y se usa ampliamente para la gestión de servidores, copias de seguridad, scripts programados y mucho más.
Cómo funciona Cron
Cron funciona definiendo comandos en un archivo de configuración llamado crontab. El crontab contiene cinco campos que especifican cuándo debe ejecutarse una tarea, lo que permite a los usuarios programar tareas con una sincronización precisa.
- 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 el domingo)
Por ejemplo, un trabajo cron que ejecuta una copia de seguridad a las 5 a.m. todos los días tendría este aspecto:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Esto muestra cómo Cron permite la automatización de tareas recurrentes de manera eficiente.
¿Quién debería usar Cron?
Cron es esencial no solo para administradores de sistemas, sino también para desarrolladores y cualquier persona que necesite automatizar tareas rutinarias o ejecutar scripts de forma regular en un servidor.

2. Configuración de trabajos cron
Editar el crontab
Para configurar un trabajo cron, debes editar el archivo crontab específico de tu usuario. En Ubuntu, puedes abrir este archivo con el comando crontab -e:
crontab -e
Sintaxis básica de los trabajos cron
Un trabajo cron está compuesto por los campos de tiempo seguidos del comando a ejecutar. La sintaxis general es:
Minute Hour Day Month DayOfWeek Command
El siguiente trabajo cron crea una copia de seguridad del directorio /home/ todos los días a las 5 a.m.:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Guardar y comprobar entradas del crontab
Después de añadir trabajos cron, guarda y cierra el editor para aplicar los cambios. Para verificar que tus trabajos cron están registrados correctamente, usa el siguiente comando:
crontab -l
3. Programación avanzada de trabajos cron
Ejecutar trabajos en intervalos personalizados
Si necesitas ejecutar comandos cada minuto o cada cinco minutos, puedes programarlos así:
- Ejecutar cada minuto:
* * * * * /path/to/script.sh
- Ejecutar cada 5 minutos:
*/5 * * * * /path/to/script.sh
Ejecutar trabajos en días o rangos horarios específicos
Para ejecutar un script solo en un día concreto, especifica el campo día‑de‑semana. Por ejemplo, para ejecutar un script cada lunes a las 2:15 a.m.:
15 2 * * 1 /path/to/script.sh
4. Manejo de errores y solución de problemas
Problemas comunes de trabajos cron y soluciones
El trabajo cron no se ejecuta
Si un trabajo cron no se ejecuta, revisa lo siguiente:
- Permisos: Asegúrate de que el script o comando tenga permisos de ejecución.
- Usar rutas completas: Cron utiliza un
$PATHlimitado, por lo que los comandos deben incluir rutas absolutas./usr/bin/python3 /path/to/script.py
Revisar los registros
Los registros de Cron se guardan en /var/log/syslog. Consultar este archivo revela por qué un trabajo falló o si se ejecutó correctamente:
grep CRON /var/log/syslog
5. Consideraciones de seguridad
Control de acceso de usuarios
Para restringir qué usuarios pueden crear trabajos cron, usa /etc/cron.allow y /etc/cron.deny. Añadir un nombre de usuario a /etc/cron.allow permite que solo ese usuario configure trabajos cron:
echo "user_name" >> /etc/cron.allow
Seguridad de inicio de sesión y trabajos cron
Cuando Cron ejecuta tareas que requieren autenticación, puede ser necesario automatizar claves SSH o gestionar contraseñas de forma segura.
6. Uso de Anacron para tareas menos frecuentes
¿Qué es Anacron?
Anacron es un programador de trabajos diseñado para sistemas que no están en funcionamiento de forma continua. Ejecuta las tareas perdidas cuando el sistema se inicia nuevamente, lo que lo hace ideal para escritorios y portátiles que no están siempre conectados.
7. Ejemplos prácticos de trabajos cron
Automatizar copias de seguridad
Ejemplo de trabajo cron que crea copias de seguridad diarias con marcas de tiempo:
0 2 * * * tar -zcf /var/backups/home_backup_$(date +\%Y-\%m-\%d).tgz /home/
8. Conclusión
Al aprovechar Cron y Anacron, puedes automatizar de manera eficiente las tareas rutinarias y mejorar la fiabilidad de las operaciones de tu sistema. Ambas herramientas reducen la carga administrativa y garantizan que las tareas de mantenimiento críticas se ejecuten automáticamente. Intenta incorporarlas en tu sistema para experimentar de primera mano los beneficios operativos.