Ajouter une journalisation au moniteur de système

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, vous allez améliorer le script de surveillance de système Linux fourni en ajoutant une fonction de journalisation. Le but est d'enregistrer l'utilisation des ressources (processeur, mémoire et disque) dans un fichier de journal après chaque cycle de surveillance. Cette tâche vous permettra de tester votre capacité à modifier et étendre un script shell pour inclure une sortie basée sur un fichier.

Le script de base est fourni pour vous. Vous devez ajouter la fonction de journalisation à celui-ci.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/date("Date/Time Displaying") subgraph Lab Skills linux/echo -.-> lab-299447{{"Ajouter une journalisation au moniteur de système"}} linux/cat -.-> lab-299447{{"Ajouter une journalisation au moniteur de système"}} linux/date -.-> lab-299447{{"Ajouter une journalisation au moniteur de système"}} end

Ajouter une journalisation au moniteur de système

Tâches

  • Modifiez le script /home/labex/project/system_monitor.sh pour ajouter l'utilisation des ressources (processeur, mémoire et disque) à un fichier de journal nommé resource_usage.log dans le même répertoire. Chaque entrée doit inclure la date et l'heure actuelles.

Exigences

  • Le fichier de journal doit s'appeler resource_usage.log et être situé dans /home/labex/project.
  • Chaque entrée de journal doit inclure la date, l'heure et les pourcentages d'utilisation des ressources pour le processeur, la mémoire et le disque.
  • La journalisation doit être implémentée après que les valeurs d'utilisation des ressources ont été calculées dans chaque cycle de surveillance.

Conseils

  1. Utilisez la commande date pour obtenir la date et l'heure actuelles. Explorez la page man date pour apprendre à formater la sortie.
  2. N'oubliez pas d'utiliser l'opérateur >> pour ajouter du contenu à un fichier. Évitez d'écraser le fichier à chaque fois.
  3. Combinez les valeurs d'utilisation des ressources en une seule chaîne avant d'ajouter le contenu au fichier de journal. Utilisez des variables et l'interpolation de chaînes à cette fin.
  4. Assurez-vous que le fichier de journal est écrit dans le même répertoire que le script, en utilisant un chemin absolu ou relatif comme /home/labex/project/resource_usage.log.

Exemples

Après avoir terminé la tâche, exécuter /home/labex/project/system_monitor.sh pendant quelques secondes devrait produire un fichier resource_usage.log avec des entrées similaires à :

cat /home/labex/project/resource_usage.log
2024-12-04 14:00:01 Processeur : 15% Mémoire : 45% Disque : 62%
2024-12-04 14:00:03 Processeur : 18% Mémoire : 46% Disque : 62%
2024-12-04 14:00:05 Processeur : 20% Mémoire : 47% Disque : 62%

Pour quitter le script correctement, vous pouvez appuyer sur Ctrl+C pour envoyer un signal d'interruption.

Exemple de journal du moniteur de système
✨ Vérifier la solution et pratiquer

Sommaire

Dans ce défi, vous avez ajouté une fonction de journalisation au script de moniteur de système Linux. Cette fonction enregistre l'utilisation des ressources dans un fichier de journal, permettant aux utilisateurs de suivre la consommation de ressources au fil du temps. Cette tâche a renforcé votre compréhension des opérations sur les fichiers et des commandes de date dans la programmation en Bash.