# Cron

## ¿Qué es cron?

**Cron** es una herramienta de programación de tareas en sistemas operativos tipo Unix (como Linux y macOS) que permite ejecutar comandos o scripts de manera automática en horarios específicos. Es especialmente útil para automatizar tareas repetitivas, como copias de seguridad, actualizaciones o monitoreo del sistema.

## Funcionamiento de Cron

### Cron Daemon

Es el proceso en segundo plano que se ejecuta continuamente y gestiona las tareas programadas. Se activa según los tiempos y fechas que estén definidos en los archivos de configuración.

### Crontab

Es el archivo donde se definen las tareas programadas. Cada usuario en el sistema puede tener su propio archivo crontab. La configuración se hace en un formato específico que incluye la hora, el día, el mes, etc.

## Sintaxis de un cron job

La sintaxis para definir un trabajo en **crontab** sigue el formato:

```bash
* * * * * /ruta/del/script
- - - - -
| | | | |  
| | | | └─ Día de la semana (0 - 6) (Domingo=0)
| | | └── Mes (1 - 12)
| | └──── Día del mes (1 - 31)
| └───── Hora (0 - 23)
└─────── Minuto (0 - 59)

```

### Ejemplo de una tarea cron

Este cron job ejecutará el script **script.sh** todos los lunes a las 2:30 AM.

```bash
30 2 * * 1 /home/usuario/script.sh
```

## Comandos útiles para cron

### Editar el crontab

Abre el archivo crontab para editar las tareas programadas.

```bash
crontab -e
```

### Ver las tareas cron actuales

Muestra las tareas programadas en el crontab del usuario actual.

```bash
crontab -l
```

### Eliminar todas las tareas cron

```bash
crontab -r
```

## Usos comunes de Cron

* Realizar **copias de seguridad** a intervalos regulares.
* Ejecutar scripts de **limpieza** o **mantenimiento** del sistema.
* Programar **envíos de correos electrónicos** automáticos.
* Ejecutar **actualizaciones de sistema** o aplicaciones.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bibliotek.gitbook.io/miwiki/info-util/cron.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
