Archivieren und Entfernen veralteter Protokolldateien
Ihre letzte Aufgabe ist ein wenig "Hausputz". Im Verzeichnis ~/project/logs sammeln sich Protokolldateien an, und die aus dem Jahr 2023 werden für den täglichen Betrieb nicht mehr benötigt. Um Platz zu sparen und Ordnung zu halten, müssen Sie diese alten Protokolle in einer einzigen Archivdatei komprimieren und anschließend die Originaldateien löschen.
Den tar-Befehl verstehen
Der Befehl tar ist ein mächtiges Linux-Werkzeug zum Erstellen und Bearbeiten von Archivdateien. "Tar" stand ursprünglich für "Tape Archive" (Bandarchiv), da es entwickelt wurde, um Daten auf Magnetbänder zu schreiben. Heute wird es jedoch hauptsächlich verwendet, um komprimierte Archivdateien auf der Festplatte zu erstellen.
Wenn Sie tar verwenden, bündeln Sie im Wesentlichen mehrere Dateien zu einer einzigen Datei (einem sogenannten Archiv) und können dieses Archiv optional komprimieren, um Platz zu sparen. Das gebräuchlichste Kompressionsformat ist gzip, das die Dateiendung .gz hinzufügt.
Der Befehl tar verwendet verschiedene Optionen (Flags), um sein Verhalten zu steuern:
c: Erstellt ein neues Archiv (create)
z: Komprimiert das Archiv mit gzip
f: Gibt den Dateinamen des Archivs an (file)
Somit erstellt tar -czf archiv.tar.gz datei1 datei2 ein neues komprimiertes Archiv namens archiv.tar.gz, das datei1 und datei2 enthält.
Aufgaben
- Navigieren Sie zum Verzeichnis
~/project/logs.
- Erstellen Sie ein komprimiertes tar-Archiv namens
old_logs.tar.gz, das alle Protokolldateien aus dem Jahr 2023 enthält.
- Nachdem das Archiv erfolgreich erstellt wurde, löschen Sie die ursprünglichen Protokolldateien von 2023, die Sie gerade archiviert haben.
Anforderungen
- Das fertige Archiv muss exakt
old_logs.tar.gz heißen.
- Das Archiv muss sich im Verzeichnis
~/project/logs befinden.
- Nur Protokolldateien mit
2023 im Namen sollen archiviert und anschließend entfernt werden.
- Die Protokolldatei von 2024 (
app_2024-05-01.log) darf nicht im Archiv enthalten sein und darf nicht gelöscht werden.
Beispiele
Vor der Archivierung enthält Ihr logs-Verzeichnis:
~/project/logs/
├── app_2023-01-15.log
├── app_2024-05-01.log
└── db_2023-02-20.log
Nach Abschluss der Archivierungsaufgabe sollte Ihr logs-Verzeichnis so aussehen:
~/project/logs/
├── app_2024-05-01.log
└── old_logs.tar.gz
Wenn Sie ls im Verzeichnis ~/project/logs/ ausführen, sollten Sie sehen:
app_2024-05-01.log old_logs.tar.gz
Hinweise
- Verwenden Sie den Befehl
tar, um Archive zu erstellen. Die Optionen -czf sind eine starke Kombination: c (erstellen), z (mit gzip komprimieren) und f (Dateinamen festlegen).
- Sie können einen Platzhalter (
*) verwenden, um mehrere Dateien auszuwählen, die einem Muster entsprechen. Zum Beispiel findet *_2023-*.log alle Dateien, die auf .log enden und _2023- im Namen haben.
- Der Befehl
rm wird zum Entfernen (Löschen) von Dateien verwendet. Seien Sie vorsichtig bei der Verwendung von Platzhaltern!