Automate de commandes, sans crontab
par
, 03/04/2016 à 21h11 (733 Affichages)
Pour automatiser une tâche rapidement, sans passer par la case crontab, il y a une commande assez intéressante pour çà: watch
Non, non, ce n'est pas un nouveau prototype de montre, et comme l'exemple aide souvent à mieux comprendre, voyons cela de suite…
Prenons le cas basique où j'ai besoin d'afficher continuellement, et ce dans un intervalle de 2s (c'est l'intervalle par défaut de la commande watch), l'activité mémoire de mon système:
Pour sortir de la fenêtre, il faut faire CTRL+C, c'est l'inconvénient, par rapport à un simple «q» lors du top. Sympa non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part watch free -m
Bon, ça reste basique, donc voyons comment on peut améliorer cette analyse. Comme vous l'avez constaté, il faut être attentif à chaque modification qui ont lieu, et l'exemple pris contient justement beaucoup d'information. On peut vite passer à côté d'un changement.
Dans ce cas, il faut utiliser l'option «-d» qui va mettre en surbrillance ce qui a évolué entre deux rafraîchissements*:
Si vous voulez voir plus de changement, passer au format plus long en kilobytes, en enlevant l'option «-m»
Code : Sélectionner tout - Visualiser dans une fenêtre à part watch -d free -m
Code : Sélectionner tout - Visualiser dans une fenêtre à part watch -d free
Ça va pas assez vite pour vous? Demandez un rafraîchissement toutes les secondes (on peut pas descendre en dessous d'1 seconde), via l'option «-n»:
L'en tête vous gêne? Enlevez-le avec l'option «-t»:
Code : Sélectionner tout - Visualiser dans une fenêtre à part watch -n 1 -d free
Un autre inconvénient, c'est qu'on peut pas concaténer les options, on est obligé de les passer en arguments chacun:
Code : Sélectionner tout - Visualiser dans une fenêtre à part watch -n 1 -d -t free
watch -ndt 1 free ⇒ ne fonctionne pas.
On peut allez encore plus loin avec cet outil...