47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# 🧹 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
|
||
|