Script Shell pour obtenir l’utilisation du processeur et de la mémoire

En tant qu’administrateur système, vous devrez fréquemment suivre l’utilisation du processeur et de la mémoire. Il est donc conseillé d’utiliser un script shell à cet effet, pour calculer automatiquement ces métriques et vous tenir à jour. Dans cet article, nous verrons comment créer un script shell pour obtenir l’utilisation du processeur et de la mémoire sous Linux.

Script Shell pour obtenir l’utilisation du processeur et de la mémoire

Voici les étapes à suivre pour créer un script shell pour obtenir l’utilisation du processeur et de la mémoire.

Créer un script shell vide

Ouvrez terminal et exécutez la commande suivante pour créer un script shell vide.

$ sudo vi system_stats.sh

Calculez l’utilisation du processeur et de la mémoire

Ajoutez les lignes suivantes pour calculer l’utilisation du processeur et de la mémoire.

#!/bin/bashecho `date`#cpu use thresholdcpu_threshold='80' #mem idle thresholdmem_threshold='100' #disk use thresholddisk_threshold='90'#---cpucpu_usage () {cpu_idle=`top -b -n 1 | grep Cpu | awk '{print }'|cut -f 1 -d "."`cpu_use=`expr 100 - $cpu_idle` echo "cpu utilization: $cpu_use"if then echo "cpu warning!!!" else echo "cpu ok!!!"fi}#---memmem_usage () { #MB unitsmem_free=`free -m | grep "Mem" | awk '{print +}'` echo "memory space remaining : $mem_free MB"if then echo "mem warning!!!" else echo "mem ok!!!"fi}#---diskdisk_usage () {disk_use=`df -P | grep /dev | grep -v -E '(tmp|boot)' | awk '{print }' | cut -f 1 -d "%"` echo "disk usage : $disk_use" if then echo "disk warning!!!" else echo "disk ok!!!"fi }cpu_usagemem_usagedisk_usage

Dans le code ci-dessus, nous avons défini 3 fonctions cpu_usage, mem_usage et disk_usage pour calculer l’utilisation du processeur, de la mémoire et du disque. Nous avons également défini des valeurs de seuil pour le processeur, la mémoire et le disque.

Pour calculer l’utilisation du processeur, nous exécutons la commande top et utilisons grep + awk pour extraire le % de CPU inactif de sa sortie. Ensuite, nous le soustrayons de 100 pour calculer l’utilisation du PROCESSEUR.

Nous utilisons la commande free pour calculer l’utilisation de la mémoire et la commande df pour calculer l’utilisation du disque.

De plus, nous vérifions également chacune de ces valeurs par rapport à leurs valeurs de seuil respectives et affichons des avertissements appropriés si elles dépassent les valeurs de seuil.

Rendre le script Shell exécutable

Exécutez la commande suivante pour rendre le script shell exécutable.

$ sudo chmod +x system_stats.sh

Script shell de test

Vous pouvez exécuter votre script shell à l’aide de la commande suivante

./system_stats.shcpu usage : 35%memory space remaining : 3330 MBdisk usage : 21%

Créer une tâche Cron

Vous devrez inspecter fréquemment l’utilisation du processeur, de la mémoire et du disque, il est donc conseillé de créer une tâche cron pour cela. Ouvrez crontab avec la commande suivante.

$ sudo crontab -e

Ajoutez-y les lignes suivantes.

0 10 * * * ./system_stats.sh >>/opt/system.log

Dans le code ci-dessus, nous configurons un cronjob qui s’exécute system_stats.sh script shell tous les jours à 10 heures.a.m et ajoute la sortie à /opt/system.journal. Vous pouvez le changer selon vos besoins.

De cette façon, vous aurez un enregistrement quotidien des informations de votre système dans un seul fichier. Vous pouvez simplement le visualiser avec la commande suivante.

$ sudo cat /opt/system.log

Dans cet article, nous avons appris à créer un script shell simple pour suivre les 3 métriques les plus importantes de tout système Linux – utilisation du processeur, utilisation de la mémoire, utilisation du disque. Vous pouvez l’utiliser pour suivre régulièrement les informations système et l’utilisation des ressources.

Lisez également:

Comment vérifier l’intégrité du SSD sous Linux
Comment Définir la Passerelle par défaut sous Linux
Comment Toucher Tous les fichiers du répertoire
Comment Quitter la Boucle For dans le Script Shell
Comment Définir la Version Python par défaut

Write a Comment

Votre adresse e-mail ne sera pas publiée.