Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

watch Linux : exécuter une commande à intervalles réguliers

La commande watch sur Linux est un utilitaire en ligne de commande qui permet d’exécuter périodiquement une autre commande ou un script et d’afficher sa sortie en temps réel.
Cela permet de surveiller les résultats d’une commande ou d’un script de manière continue, sans avoir à ré-exécuter manuellement la commande à chaque fois.

L’utilitaire watch fait partie du paquet procps (ou procps-ng) qui est préinstallé sur presque toutes les distributions Linux.

Dans ce tutoriel, je vous montre comment utiliser la commande watch avec des exemples.

watch Linux : exécuter une commande à intervalles réguliers

Syntaxe de la commande watch de Linux

Voici la syntaxe de l’utilitaire :

watch <options> <commande>
Options Description
n, –interval= Spécifie l’intervalle de temps en secondes entre deux exécutions de la commande. Par exemple, -n 5 spécifie un intervalle de 5 secondes.
-d, –differences Met en évidence les changements entre deux exécutions consécutives de la commande.
-t, –no-title Supprime la ligne de titre affichant l’heure actuelle et le nom de la commande.
-b, –beep Joue un son d’alerte (bip) si la commande se termine par une erreur.
-p, –precise Tente d’exécuter la commande après le nombre exact de secondes défini par l’option –interval.
-e, –errexit Arrête la mise à jour de la sortie en cas d’erreur et quitte la commande après avoir appuyé sur une touche.
-c, –color Interprète les séquences de couleurs et de styles ANSI.
-x, –exec Transmet la commande définie par l’utilisateur à exec, ce qui réduit la nécessité d’utiliser des guillemets supplémentaires.
-w, –no-linewrap Désactive le retour à la ligne et tronque les longues lignes.
-h, –help Affiche le texte d’aide et quitte.
-v, –version Affiche les informations sur la version et quitte.
Les options de la commande watch

Comment utiliser la commande watch avec des exemples

Utilisation basique

Pour mieux illustrer le fonctionnement de la commande watch, exécutons la commande date :

watch date
Comment utiliser la commande watch avec des exemples

La commande watch efface le contenu du terminal (mais il n’est pas perdu) pour afficher le résultat de la commande.
Par défaut, sans option, la fréquence d’exécution de la commande est de 2s.

Comment utiliser la commande watch avec des exemples

En haut à gauche de l’en-tête de l’écran, vous pouvez voir l’intervalle de mise à jour de watch et la commande exécutée (Every 2.0s : date), tandis qu’en haut à gauche, watch affiche l’heure et la date actuelles. Si vous souhaitez désactiver l’en-tête, utilisez l’option -t(–no-title).

La sortie de la commande spécifiée est affichée à l’écran et mise à jour régulièrement toutes les deux secondes.

Pour quitter la commande watch, il suffit d’appuyer sur la combinaison de

CTRL+C.

Comment modifier l’intervalle de temps

Que faire si l’intervalle de mise à jour par défaut de deux secondes ne convient pas à votre cas d’utilisation ?

L’option -n (–interval) suivie du nombre de secondes souhaité vous permet de modifier l’intervalle de temps entre les mises à jour :

watch -n <intervalle en seconde> <commande>

Par exemple, pour surveiller l’utilisation de l’espace disque avec la commande df et rafraîchir l’écran toutes les cinq secondes, vous devez exécuter la commande suivante :

watch -n 5 df
Comment utiliser la commande watch avec des exemples

Mise en évidence de la différence entre les mises à jour

L’option -d (–différence) permet à watch de mettre en évidence les changements entre deux mises à jour successives.

watch -d <commande>

Supposons que vous souhaitiez surveiller le temps de fonctionnement du système en exécutant la commande uptime et mettre en évidence les changements. La commande serait la suivante :

watch -d uptime
Comment utiliser la commande watch avec des exemples

Si vous souhaitez que les surlignements restent collés, ajoutez =cumulative à l’option -d. Cela signifie que toutes les valeurs qui ont été modifiées resteront en surbrillance.

watch -d=cumulative <commande>

Commandes avec des tuyaux (pipe)

Si vous voulez exécuter une commande qui contient des tuyaux, vous devez mettre la commande entre guillemets simples ou doubles. Si vous ne mettez pas la commande complète entre guillemets, watch n’exécutera que la première commande, puis dirigera sa sortie vers la commande suivante dans le pipeline.

watch <commande1> | <commande 2>

Par exemple, la commande suivante surveillera le nombre de connexions actives sur le port 80 en utilisant une combinaison des utilitaires ss et grep :

watch "ss -t|grep :https"
Utiliser la commande watch de Linux avec des pipe

Quitter en cas de changement

L’option -g ou –chgexit permet à la commande watch de sortir en cas de changement dans la sortie :

watch -g <commande>

Par exemple, l’ajout de la commande free permet de surveiller la consommation de mémoire de votre système et de quitter la commande si la valeur change :

watch -g free

Masquer l’en-tête de la commande watch

Désactivez l’en-tête contenant l’intervalle de temps, la commande définie par l’utilisateur et l’heure actuelle du système dans la sortie de la commande watch en utilisant l’option -t ou –no-title :

watch -t <commande>

Revenons à l’exemple de l’affichage de la date et de l’heure du système, cette fois sans l’en-tête :

watch -t date
Masquer l'en-tête de la commande watch

L’article watch Linux : exécuter une commande à intervalles réguliers est apparu en premier sur malekal.com.

Enregistrer un commentaire

0 Commentaires