83 lines
2.9 KiB
Markdown
Executable File
83 lines
2.9 KiB
Markdown
Executable File
# Chat-Protokoll — 2025-11-01 18:27:12
|
|
|
|
Dieses Dokument fasst den Chat und die vorgenommenen Änderungen zusammen und enthält die relevanten geänderten Codeabschnitte aus `docker_info.py`.
|
|
|
|
Datum: 2025-11-01
|
|
Uhrzeit: 18:27:12 (lokale Systemzeit)
|
|
|
|
## Kurzfassung
|
|
|
|
- Der Nutzer wollte neue, aussagekräftige Dateinamen für die erzeugten Dateien (CSV und GraphML).
|
|
- Empfohlenes Schema: `containers_snapshot_<YYYY-MM-DD>_<hostname>.(csv|graphml)`.
|
|
- `docker_info.py` wurde so angepasst, dass Ausgabedateien automatisch das Datum und den (sanierten) Hostnamen enthalten und im Verzeichnis `out_01/` abgelegt werden.
|
|
|
|
## Geänderte Codeabschnitte
|
|
|
|
### 1) Ergänzte Importe
|
|
|
|
```python
|
|
import os
|
|
import datetime
|
|
import socket
|
|
```
|
|
|
|
Diese Imports wurden hinzugefügt, um Dateipfade anzulegen, das aktuelle Datum zu bestimmen und den Hostnamen zu ermitteln.
|
|
|
|
### 2) Neuer Main-Block (Dateinamens-Generierung & Ausgabepfade)
|
|
|
|
```python
|
|
if __name__ == '__main__':
|
|
print("[*] Sammle Container-Informationen...")
|
|
container_data = get_container_info()
|
|
|
|
# Erzeuge standardisierte Dateinamen: containers_snapshot_<YYYY-MM-DD>_<hostname>.(csv|graphml)
|
|
date_str = datetime.date.today().isoformat()
|
|
hostname = sanitize_id(socket.gethostname())
|
|
base_name = f"containers_snapshot_{date_str}_{hostname}"
|
|
|
|
out_dir = 'out_01'
|
|
try:
|
|
os.makedirs(out_dir, exist_ok=True)
|
|
except Exception:
|
|
# Falls das Anlegen fehlschlägt, fahren wir mit dem aktuellen Verzeichnis fort
|
|
out_dir = '.'
|
|
|
|
csv_file = os.path.join(out_dir, f"{base_name}.csv")
|
|
graph_file = os.path.join(out_dir, f"{base_name}.graphml")
|
|
|
|
save_to_csv(container_data, filename=csv_file)
|
|
save_to_graphml(container_data, filename=graph_file)
|
|
print(f"[+] Dateien: {csv_file}, {graph_file}")
|
|
```
|
|
|
|
Die Funktionen `save_to_csv` und `save_to_graphml` verwenden weiterhin denselben Code, wurden aber so aufgerufen, dass die Dateien im neuen Schema erstellt werden.
|
|
|
|
## Dateien erstellt/aktualisiert
|
|
|
|
- `docker_info.py` — aktualisiert (Importe + Main-Block geändert)
|
|
- `/volume1/docker/config/Chat-Protokoll_2025-11-01_18-27-12.md` — neu (dieses Protokoll)
|
|
- Frühere Export-Datei: `/volume1/docker/config/chat_export_2025-11-01T000000.md` — existiert ebenfalls
|
|
|
|
---
|
|
|
|
Wenn du möchtest, kann ich jetzt:
|
|
- das Skript so erweitern, dass es eine CLI-Option `--basename` oder `--timestamp` akzeptiert,
|
|
- vorhandene Dateien in `out_01/` automatisch umbenennen (z. B. `docker_container_info.csv` -> neues Schema), oder
|
|
- die Markdown-Datei mit einem vollständigen Diff der Änderung ergänzen.
|
|
|
|
Welche Aktion bevorzugst du?"}
|
|
|
|
## Vorschlag: Git Commit-Message
|
|
|
|
Kurze Optionen (wähle eine):
|
|
|
|
- English: feat: use timestamped output filenames (containers_snapshot_<date>_<host>)
|
|
- Deutsch: feat: Ausgabe-Dateinamen mit Datum und Hostnamen
|
|
|
|
Zum Anwenden mit Git:
|
|
|
|
```bash
|
|
git add docker_info.py
|
|
git commit -m "feat: use timestamped output filenames (containers_snapshot_<date>_<host>)"
|
|
```
|