Cómo programar tareas automáticas con cron en Linux
Cómo programar tareas automáticas con cron en Linux
cron ejecuta comandos automáticamente en los momentos que tú definas, sin que tengas que acordarte de hacerlo manualmente.
crontab -e
Cada línea sigue este formato:
# minuto hora día mes día-semana comando
0 2 * * * /ruta/al/script.sh
| Ejemplo | Significado |
|---|---|
0 2 * * * | Cada día a las 2:00 AM |
*/15 * * * * | Cada 15 minutos |
0 9 * * 1 | Cada lunes a las 9:00 AM |
0 0 1 * * | El día 1 de cada mes |
Consejo: usa siempre la ruta completa al script (no una relativa) — cron no ejecuta las tareas desde tu carpeta personal, así que una ruta relativa que funciona bien manualmente puede fallar silenciosamente dentro de cron.
Ver tus tareas programadas
crontab -l
Nota: si una tarea de cron no parece ejecutarse,
revisa el registro del sistema
(grep CRON /var/log/syslog) para confirmar si realmente
se intentó ejecutar y qué error dio, si dio alguno.
Preguntas frecuentes
¿Por qué mi script funciona manualmente pero no desde cron?
La causa más común es usar una ruta relativa en vez de la ruta completa — cron no ejecuta las tareas desde tu carpeta personal, así que las rutas relativas pueden no encontrar los archivos que necesitan.
¿Cómo compruebo si una tarea de cron se ejecutó?
Revisa el registro del sistema con 'grep CRON /var/log/syslog' (o journalctl en sistemas más modernos), que muestra si la tarea se intentó ejecutar y cualquier error asociado.