# Cron job

> Un comando que una computadora corre sola según un horario, como cada noche a las 3.

- Nivel: Intermedio
- Temas: Software
- URL: https://tidbit.legios.com.ar/es/cron-job/
- En inglés: [Cron job](https://tidbit.legios.com.ar/cron-job/)

**Cron** es un programador de tareas que viene con los sistemas tipo Unix desde los años 70. Su trabajo es correr comandos en horarios fijos. Cada tarea programada es un **cron job**: hacer un backup de la base de datos todas las noches, mandar un reporte cada lunes, borrar archivos viejos cada hora. La lista de tareas vive en un archivo que se llama **crontab**.

Cada tarea tiene un horario escrito en cinco campos: minuto, hora, día del mes, mes y día de la semana. Un asterisco significa "cualquiera". Entonces `0 3 * * *` quiere decir "en el minuto 0 de la hora 3, todos los días", y `*/15 * * * *` quiere decir cada quince minutos. La notación es compacta y famosa por lo fácil que es equivocarse, así que mucha gente la chequea con alguna herramienta online antes de guardarla.

La idea sobrevivió a la herramienta. Los programadores de tareas de la nube, Kubernetes, GitHub Actions y muchas plataformas de hosting te dejan agendar tareas con la misma sintaxis de cron. Dos trampas clásicas: el horario corre en la zona horaria del servidor, que puede no ser la tuya, y un cron job que falla no hace ruido, salvo que alguien haya configurado logs o alertas para enterarse.

## Una analogía

Un despertador con una lista de tareas pegada. Cuando suena, la tarea se hace sola, haya alguien despierto o no.

## Para quedarse

- Un cron job es un comando agendado para correr automáticamente.
- Los horarios usan cinco campos: minuto, hora, día del mes, mes, día de la semana.
- `0 3 * * *` significa todos los días a las 3:00.
- Revisá la zona horaria y sumá alertas: por defecto, las fallas no avisan.

## Para seguir leyendo

- [Cron en Wikipedia](https://es.wikipedia.org/wiki/Cron_(Unix))
- [Página de manual de crontab(5) (en inglés)](https://man7.org/linux/man-pages/man5/crontab.5.html)

## Términos relacionados

- [Copia de seguridad](https://tidbit.legios.com.ar/es/backup/): Una copia aparte de tus datos, para recuperarlos cuando se pierde el original.
- [Base de datos](https://tidbit.legios.com.ar/es/database/): Un depósito ordenado de datos que los programas consultan y actualizan sin riesgo.
- [Computación en la nube](https://tidbit.legios.com.ar/es/cloud-computing/): Alquilar computadoras por internet en vez de comprar las tuyas.
- [Kubernetes](https://tidbit.legios.com.ar/es/kubernetes/): El sistema que corre y cuida contenedores en muchas máquinas a la vez.
- [GitHub](https://tidbit.legios.com.ar/es/github/): Un sitio donde los equipos guardan su código con Git y trabajan juntos en él.
- [Hosting web](https://tidbit.legios.com.ar/es/web-hosting/): Alquilar lugar en una computadora siempre prendida para que cualquiera vea tu sitio.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
