Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:m122:learningunits:lu11:aufgaben:logage [2025/01/13 09:30] msutermodul:m122:learningunits:lu11:aufgaben:logage [2025/01/13 09:31] (aktuell) – alte Version wiederhergestellt (2025/01/13 09:10) msuter
Zeile 1: Zeile 1:
-====== LU11.L01: Alte Logs ======+====== LU11.A01: Alte Logs ====== 
 +<WRAP center round todo 60%> 
 +Erstelle ein Skript, das Logdateien archiviert und löscht. 
 +</WRAP>
  
-===== Herausforderung beim Testen ===== +===== Ausgangslage =====
-Beim Testen müssten wir mehrere Tage warten, bis das Logfile das gewünschte Alter erreicht hat. +
-Als Alternative können wir: +
-  * Das Systemdatum in die Zukunft stellen +
-  * Das Erstelldatum der Datei verändern.+
  
-Um das Erstelldatum einer Datei zu verändern, benötigen Sie Powershell im Admin-Modus. +Ein Datenbankserver schreibt seine Meldungen in die Datei ''~/log/message.log'' (Linux) bzw. ''C:\log\message.log'' (Windows).  
-Der Befehl +Sobald die Logdatei ein vorgegebenes Alter in Tagen (''Argument 1'') erreicht hat, wird ... 
-<code> +  - die Logdatei mit dem Tagesdatum (Format: "YYYYMMDD"") im Dateinamen gesichert. Zum Beispiel: 
-(Get-Item "C:\log\message.log").CreationTime = "2024-01-10 08:00:00" +    * message20210510.log 
-</code> +    * message20210511.log 
-Setzt das Erstelldatum unserer Datei auf den 10. Januar 2024+  überzählige Sicherungsdateien gelöscht. Wie viele Sicherungsdateien behalten werden, ist vom ''Argument 2'' abhängig. 
 +  eine neue leere Logdatei angelegt 
 + 
 +===== Beispiele ===== 
 +Für unsere Beispiele nehmen wir an, dass folgende Dateien vorhanden sind: 
 +  * message.log (Erstellt am 04.01.2025) 
 +  * message20241215.log 
 +  * message20241220.log 
 +  * message20241228.log 
 + 
 +Ausserdem gilt für alle Aufrufe, dass diese am 10.1.2025 gemacht werden. 
 + 
 +==== Beispiel 1 ==== 
 +  * Aufruf''python3 messagelog.py 10 1'' 
 +  * AktionenKeine 
 + 
 +Die Logdatei ist weniger als 10 Tage alt, somit wird keine Aktion durchgeführt. 
 + 
 +==== Beispiel 2 ==== 
 + 
 +  * Aufruf: ''python3 messagelog.py 3 2'' 
 +  * Aktionen:  
 +    - Die Datei ''message.log'' wird in ''message20250110.log'' umbenannt. 
 +    - Die Dateien ''message20241215.log'' und ''message20241220.log'' werden gelöscht. 
 +    - Eine neue, leere Datei ''message.log'' wird erstellt. 
 + 
 +Nachdem die Datei umbenannt wurde, existieren 4 Sicherungsdateien. 
 +Gemäss dem zweiten Argument sollen aber nur 2 Sicherungsdateien behalten werden. 
 +Deshalb werden die zwei ältesten Sicherungsdateien gelöscht.
  
-{{gh>https://github.com/templates-python/m122-lu11-a01-logs/blob/solution/main.py}} 
 ---- ----
 {{tag>M122-LU11}} {{tag>M122-LU11}}
  • modul/m122/learningunits/lu11/aufgaben/logage.1736757036.txt.gz
  • Zuletzt geändert: 2025/01/13 09:30
  • von msuter