Protokollierung für den Systemmonitor hinzufügen

LinuxBeginner
Jetzt üben

Einführung

In dieser Herausforderung werden Sie ein bestehendes Linux-Systemmonitor-Skript um eine Protokollierungsfunktion erweitern. Ziel ist es, die Ressourcenauslastung (CPU, Arbeitsspeicher und Festplatte) nach jedem Überwachungszyklus in einer Log-Datei zu speichern. Diese Aufgabe prüft Ihre Fähigkeit, Shell-Skripte zu modifizieren und um dateibasierte Ausgaben zu ergänzen.

Das Basisskript wird Ihnen zur Verfügung gestellt. Ihre Aufgabe ist es, die Logging-Funktion zu implementieren.

Protokollierung für den Systemmonitor hinzufügen

Aufgaben

  • Bearbeiten Sie das Skript /home/labex/project/system_monitor.sh so, dass die Ressourcenauslastung (CPU, Arbeitsspeicher und Festplatte) an eine Log-Datei namens resource_usage.log im selben Verzeichnis angehängt wird. Jeder Eintrag muss das aktuelle Datum und die Uhrzeit enthalten.

Anforderungen

  • Die Log-Datei muss den Namen resource_usage.log tragen und sich im Verzeichnis /home/labex/project befinden.
  • Jeder Log-Eintrag muss das Datum, die Uhrzeit sowie die prozentuale Auslastung von CPU, Arbeitsspeicher und Festplatte enthalten.
  • Die Protokollierung muss innerhalb jedes Überwachungszyklus unmittelbar nach der Berechnung der Auslastungswerte erfolgen.

Hinweise

  1. Verwenden Sie den Befehl date, um das aktuelle Datum und die Uhrzeit abzurufen, zum Beispiel mit date '+%Y-%m-%d %H:%M:%S'. Nutzen Sie man date, um mehr über die Formatierungsmöglichkeiten zu erfahren.
  2. Denken Sie daran, den Operator >> zu verwenden, um Inhalte an eine Datei anzuhängen. Vermeiden Sie es, die Datei bei jedem Durchlauf zu überschreiben.
  3. Fassen Sie die Werte der Ressourcenauslastung in einer einzigen Zeichenfolge zusammen, bevor Sie diese in die Log-Datei schreiben. Nutzen Sie dafür Variablen und String-Interpolation.
  4. Stellen Sie sicher, dass die Log-Datei im selben Verzeichnis wie das Skript geschrieben wird, indem Sie einen absoluten oder relativen Pfad wie /home/labex/project/resource_usage.log verwenden.

Beispiele

Nachdem Sie die Aufgabe abgeschlossen haben, sollte das Ausführen von /home/labex/project/system_monitor.sh für einige Sekunden eine Datei resource_usage.log mit Einträgen wie diesen erzeugen:

cat /home/labex/project/resource_usage.log
2024-12-04 14:00:01 CPU: 15% Memory: 45% Disk: 62%
2024-12-04 14:00:03 CPU: 18% Memory: 46% Disk: 62%
2024-12-04 14:00:05 CPU: 20% Memory: 47% Disk: 62%

Um das Skript sauber zu beenden, können Sie Ctrl+C drücken, um ein Unterbrechungssignal zu senden.

System Monitor Log Beispiel

Zusammenfassung

In dieser Herausforderung haben Sie das Linux-Systemmonitor-Skript erfolgreich um eine Logging-Funktion erweitert. Diese Funktion zeichnet die Ressourcenauslastung in einer Log-Datei auf, sodass Benutzer den Ressourcenverbrauch über einen längeren Zeitraum nachverfolgen können. Diese Aufgabe hat Ihr Verständnis für Dateioperationen und den Umgang mit Datumsbefehlen in der Bash-Programmierung vertieft.

✨ Lösung prüfen und üben