Métodos de pago Abuse

Cron en Linux: ¿qué es?

26.02.2023, 13:13

Cron es una utilidad para programar tareas en el sistema operativo Linux. Permite ejecutar scripts o comandos automáticamente en determinados momentos, intervalos o eventos.

¿Cómo se utiliza?

Para utilizar Cron, es necesario crear un archivo crontab que contenga una lista de tareas e intervalos de tiempo en los que deben ejecutarse. Cada tarea en crontab es una cadena que consta de cinco campos separados por espacios:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

El * representa cualquier valor, por ejemplo, si el campo minutos contiene un *, la tarea se ejecutará cada minuto. Si desea establecer un valor específico para un campo, por ejemplo, todos los días a las 3 de la madrugada, debe escribir 0 3 * * * *.

Para crear o modificar un archivo crontab, utilice el comando crontab -e. Cada usuario puede tener su propio archivo crontab, así como el archivo de sistema /etc/crontab, que contiene las tareas que se ejecutan como usuario root.

Existe un comando cronjob que permite ejecutar tareas dentro de contenedores Docker. Funciona de forma similar a crontab, pero las tareas se pueden ejecutar dentro del contenedor en lugar del sistema anfitrión.

Uso de Cron: un algoritmo paso a paso

Para empezar a utilizar Cron en Linux, sigue estos pasos:

1. Abra un terminal y escriba el comando crontab -e. Esto abrirá el archivo crontab para el usuario actual.

2. Añada una tarea al archivo crontab de acuerdo con el formato de campo descrito anteriormente. Por ejemplo, si desea ejecutar la secuencia de comandos every_hour.sh cada hora, añada la línea 0 * * * * * * /path/to/every_hour.sh.

3. Guarda los cambios y cierra el archivo.

4. Compruebe que la tarea se ha añadido a crontab mediante el comando crontab -l. Mostrará una lista de todas las tareas añadidas a crontab.

5. 5. Compruebe que la tarea se ejecuta según lo programado mediante el comando tail -f /var/log/syslog. Verá la salida relacionada con la ejecución de la tarea.

6. Si desea eliminar una tarea de crontab, utilice el comando crontab -r.

Hay algunos puntos importantes a tener en cuenta:

  • puede añadir tanto scripts como comandos a crontab. Pero si desea ejecutar un script, asegúrese de que tiene permisos de ejecución(chmod +x /ruta/al/script.sh).
  • si desea que la tarea se ejecute con derechos de usuario root, utilice el comando sudo crontab -e para abrir el archivo crontab para el usuario root.
  • asegúrese de que los comandos y scripts que ejecuta se encuentran en la ubicación correcta y tienen los permisos de lectura y ejecución correctos.

Tenga en cuenta que la hora especificada en crontab coincidirá con la hora del servidor que ejecuta Cron. Si utiliza un servidor remoto, asegúrese de que la hora del servidor está configurada correctamente.