Imagina que tus copias de seguridad se hacen solas a las 3 de la mañana, que tu sistema se limpia de archivos temporales cada domingo o que tu script de Python favorito se ejecuta cada hora sin que tengas que mover un dedo.
En el mundo Unix (Linux y macOS), esto se logra con Cron, un servicio que funciona como un "reloj despertador" para comandos.
1. ¿Qué es el Crontab?
El archivo crontab es una lista de comandos con un horario asignado. Para ver o editar tus tareas programadas, solo tienes que usar el comando:
crontab -e
(Si es la primera vez que lo abres, elige tu editor favorito, como nano).
2. El código secreto: Las 5 estrellas
Cada línea en un crontab tiene una estructura de 5 columnas seguidas del comando. Es el famoso formato:
* * * * * comando_a_ejecutar
¿Qué significa cada estrella?
Minuto (0-59)
Hora (0-23)
Día del mes (1-31)
Mes (1-12)
Día de la semana (0-6, donde 0 es domingo)
3. Ejemplos prácticos para tu día a día
A. Reiniciar el router o limpiar caché cada medianoche
0 0 * * * /ruta/al/script/limpieza.sh
B. Ejecutar un backup todos los lunes a las 8:00 AM
0 8 * * 1 /usr/bin/python3 /home/usuario/backup.py
C. El comando "Cada 15 minutos"
*/15 * * * * /usr/local/bin/check_server.sh
Tip Pro: Si la sintaxis de las estrellas te resulta confusa, usa la web
Crontab.guru . Es un editor visual que te dice exactamente qué estás programando en tiempo real.
4. Errores comunes que debes evitar
Rutas absolutas: Cron no sabe dónde están tus programas. En lugar de poner
python3 script.py, usa la ruta completa:/usr/bin/python3 /home/usuario/script.py.Permisos: Asegúrate de que tu script tenga permisos de ejecución (
chmod +x script.sh).Silencio absoluto: Cron no tiene pantalla. Si tu script imprime algo, no lo verás. Es mejor redirigir la salida a un archivo log para revisarlo después:
0 0 * * * /scripts/tarea.sh >> /home/usuario/logs/tarea.log 2>&1
5. Alternativa para macOS: launchd
Aunque macOS soporta Cron, Apple prefiere usar launchd. Sin embargo, para la mayoría de usuarios y tareas simples, Cron sigue siendo el método más rápido y compatible de configurar.
Conclusión
Aprender a programar tareas es lo que separa a un usuario avanzado de un profesional de la tecnología. Es delegar las tareas aburridas y repetitivas a la máquina, permitiéndote a ti centrarte en lo que realmente importa: crear y experimentar.
¿Qué tarea te gustaría automatizar hoy mismo? ¡Cuéntanos tu idea en los comentarios y te ayudaremos con la sintaxis de las estrellas!