Recherche de site Web

Comment enregistrer la sortie de la commande supérieure dans un fichier


La commande supérieure Linux est très utilisée par les administrateurs système pour afficher des statistiques système en temps réel concernant le temps de fonctionnement du système et la charge moyenne, la mémoire utilisée, les tâches en cours d’exécution, un résumé des processus ou des threads et des informations détaillées sur chaque processus en cours d’exécution.

Cependant, en plus de l’affichage en temps réel du système en cours d’exécution, la sortie de la commande top peut être enregistrée dans un fichier, à l’aide de l’indicateur -b, qui indique à top de fonctionner en mode batch et de l’indicateur -n pour spécifier la quantité d’itération que la commande doit produire.

Dans l’exemple ci-dessous, nous allons rediriger la sortie de la commande top vers top.txt fichier dans le répertoire de travail actuel. L’argument -n sera utilisé pour envoyer un seul instantané de la commande au fichier mentionné.

$ top -b -n 1 > top.txt

Pour lire le fichier résultant, utilisez un utilitaire de lecture de fichier en ligne de commande, tel que cat command, less ou more.

$ less top.txt

Pour saisir cinq itérations de la commande top, exécutez la commande comme indiqué dans l’extrait ci-dessous.

$ top -b -n 5 > top-5iterations.txt

Afin d’afficher uniquement le nombre de tâches en cours d’exécution à partir du fichier résultant, utilisez le filtre grep, comme indiqué dans l’exemple de commande ci-dessous.

$ cat top-5iterations.txt | grep Tasks

Pour prendre un instantané d’un processus spécifique dans l’utilitaire supérieur, exécutez la commande avec l’indicateur PID (-p). Pour obtenir le PID d’un processus en cours d’exécution, exécutez la commande pidof en regard du nom du processus en cours d’exécution.

Dans cet exemple, nous allons surveiller le processus cron via la commande top en prenant trois instantanés du PID.

$ pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt

À l’aide d’une boucle d’itération for, nous pouvons afficher les statistiques d’un processus via son PID, toutes les deux secondes, comme le montre l’exemple ci-dessous. La sortie de la boucle peut également être redirigée vers un fichier. Nous utiliserons le même PID cron que celui indiqué dans l’exemple ci-dessus.

$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Rediriger la sortie de la boucle vers le fichier.

$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt

Ce ne sont là que quelques exemples de la façon dont vous pouvez surveiller et collecter des statistiques sur le système et les processus via la commande supérieure.

Articles connexes: