Ejecutar un comando Linux cada cierto tiempo con Watch

watch comando linux

Automatizar ciertas tareas puede servirnos de gran ayuda, sobre todo cuando son tareas que implican trabajar desde la consola. En nuestra distro Linux podemos contar con diveras herramientas para automatizar tareas, además de poder escribir scripts de Bash para ejecutar una serie de comandos o acciones sin ir uno por uno, e incluso agregarlos al inicio del sistema o programarlos para que se ejecuten en cierta fecha o momento sin que hagamos nada y de forma transparente.

En este artículo vamos a ver cómo se puede ejecutar un comando cada cierto tiempo haciendo uso de watch. Watch es un comando que puede ejecutar un programa u otro comando cada X segundos que le pongamos. Así programamos la ejecución repetitiva de una cierta tarea. Puede ser especialmente práctico para ciertas consultas periódicas o para algunas labores de mantenimiento etc. Puedes aplicarlo a cualquier cosa como puedes ver aquí, el límite es tu imaginación…

Si quieres que termine el bucle o repetición, puedes usar CTRL+C para terminar la acción de Watch o simplemente cerrar la ventana del terminal donde se está ejecutando. La sintaxis de watch es muy sencilla y tiene esta fisionomía:


watch [opciones] comando

Por ejemplo, vamos a ver un ejemplo práctico que consulte el espacio utilizado en nuestras particiones cada 5 min (300segundos). Como para consultar el espacio usado y libre de nuestras particiones se teclea “df -h”, pues con watch sería:


watch -n 300 df -h

Puedes consultar el man de watch para ver todas las opciones que tiene, puesto que es bastante flexible. Además, podríamos redirigir la consulta a un fichero para que la salida se imprima en un .txt por ejemplo:

 watch -n 300 df -h > espacio_usado.txt 

De este modo, podremos consultar el fichero espacio_usado.txt donde veremos que se ha imprimido lo mismo que nos mostraría la consola al teclear df -h. Imagina la cantidad de tareas que puedes hacer…


2 comentarios

  1.   David dijo

    Watch es un comando muy útil. Lo uso para controlar la temperatura de mi PC mediante terminal: “watch sensors”.
    Ya conocía el comando pero el artículo me ha gustado mucho (breve y bien explicado).

  2.   Mircocaloghero dijo

    Me gustan mucho este tipo de notas. Gracias

Escribe un comentario