🧹 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
- Synapse Admin-API muss auf
localhost:8008
erreichbar sein - Admin-Token in der Variable
TOKEN
eintragen - Räume in den Arrays
ROOMS_7DAYS
undROOMS_30DAYS
definieren - Script mit
chmod +x
ausführbar machen
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:
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:
/var/log/matrix_prune.log
🔒 Hinweis
Autor: Patrick Asmus
Lizenz: MIT
Description
Languages
Shell
100%