2025-03-26 14:33:33 +01:00

47 lines
1.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🧹 Matrix Synapse Message Prune Script
Dieses Bash-Script löscht automatisiert alte Nachrichten aus definierten Matrix-Räumen mithilfe der Synapse Admin API.
Je nach Konfiguration werden Nachrichten gelöscht, die älter als 7 oder 30 Tage sind. Die Ausführung erfolgt typischerweise per Cronjob.
## 🔧 Funktionen
- Löscht Nachrichten aus festgelegten Räumen über die Admin-API (`/purge_history`)
- Trennung nach Aufbewahrungsdauer (z.B. 7 Tage vs. 30 Tage)
- Zeitstempel werden automatisch berechnet
- Status und Ergebnisse werden in ein Logfile geschrieben (`/var/log/matrix_prune.log`)
- Optional mit `jq` für sauberes JSON-Parsing
## 🚀 Verwendung
1. Synapse Admin-API muss auf `localhost:8008` erreichbar sein
2. Admin-Token in der Variable `TOKEN` eintragen
3. Räume in den Arrays `ROOMS_7DAYS` und `ROOMS_30DAYS` definieren
4. Script mit `chmod +x` ausführbar machen
```bash
chmod +x matrix_prune-messages.v1.sh
```
# 🕒 Cronjob einrichten
Um das Script täglich um 23:00 Uhr auszuführen und alle Ausgaben zu unterdrücken:
```bash
0 23 * * * bash /home/scripts/default/matrix_prune-messages.v1.sh >/dev/null 2>&1
```
# 📝 Logfile
Alle Löschvorgänge und API-Antworten werden mit Zeitstempel in folgendes Log geschrieben:
```bash
/var/log/matrix_prune.log
```
# 🔒 Hinweis
Autor: Patrick Asmus
Lizenz: MIT