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.shso, dass die Ressourcenauslastung (CPU, Arbeitsspeicher und Festplatte) an eine Log-Datei namensresource_usage.logim selben Verzeichnis angehängt wird. Jeder Eintrag muss das aktuelle Datum und die Uhrzeit enthalten.
Anforderungen
- Die Log-Datei muss den Namen
resource_usage.logtragen und sich im Verzeichnis/home/labex/projectbefinden. - 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
- Verwenden Sie den Befehl
date, um das aktuelle Datum und die Uhrzeit abzurufen, zum Beispiel mitdate '+%Y-%m-%d %H:%M:%S'. Nutzen Sieman date, um mehr über die Formatierungsmöglichkeiten zu erfahren. - Denken Sie daran, den Operator
>>zu verwenden, um Inhalte an eine Datei anzuhängen. Vermeiden Sie es, die Datei bei jedem Durchlauf zu überschreiben. - 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.
- 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.logverwenden.
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.

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.



