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

47 lines
1.3 KiB
Markdown
Raw Permalink 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