Startseite
» NETZWERK-ADMIN
»
So richten Sie die automatische Aufnahmebereinigung in BigBlueButton ein
So richten Sie die automatische Aufnahmebereinigung in BigBlueButton ein
Auf einem stark ausgelasteten BigBlueButton-Server kann der Speicherplatz für Aufnahmen schnell anwachsen. „Bereinigung“ kann dabei zwei unterschiedliche Dinge bedeuten: das Entfernen der Rohdaten nach der Veröffentlichung einer Aufnahme oder das Löschen der veröffentlichten Aufnahme selbst nach Ablauf einer Aufbewahrungsfrist. Die falsche Wahl kann entweder Speicherplatz verschwenden oder Inhalte vorzeitig löschen.
Dieser Leitfaden konzentriert sich auf BigBlueButton 3.0, das laut offizieller Dokumentation (Stand: Oktober 2026) die aktuelle Produktionsversion ist. Die Dokumentation zu BigBlueButton 4.0 ist zwar verfügbar, befindet sich aber noch in der Entwicklung. Prüfen Sie bei Produktionssystemen Ihre installierte Version, bbb-conf --checkbevor Sie Aufbewahrungseinstellungen aus der Dokumentation einer anderen Version übernehmen. Weitere Informationen finden Sie in der offiziellen BigBlueButton-Installationsdokumentation .
Wählen Sie die Bereinigungsrichtlinie, bevor Sie irgendetwas ändern.
Es gibt keinen allgemeingültigen Aufbewahrungswert, der für alle Anwendungsfälle geeignet ist. Eine Universität benötigt möglicherweise einen Wiedergabezugriff für ein ganzes Semester, während ein interner Schulungsserver Aufnahmen nur für 30 Tage benötigt. Entscheidend ist die Unterscheidung zwischen Rohdaten der Aufnahmen und veröffentlichten Wiedergabedateien .
Reinigungsoption
Was es spart
Hauptabwägung
Optimale Passform
Rohdaten nach der Veröffentlichung löschen
Rohmedien und Verarbeitungsmaterial
Man verliert die Möglichkeit, eine Aufnahme aus den ursprünglichen Rohdaten wiederherzustellen, nachdem sie entfernt wurde.
Server, die die veröffentlichte Wiedergabe beibehalten, aber das Festplattenwachstum kontrollieren möchten.
Vollständige Aufnahmen nach N Tagen löschen
Veröffentlichte und zugehörige Aufzeichnungsdaten
Die Aufnahme steht den Nutzern nicht mehr zur Verfügung.
Klare Aufbewahrungsrichtlinien wie 30, 60 oder 90 Tage
Anwendungsgesteuerte Löschung
Hängt von der Integration ab.
Mehr Flexibilität bei den Richtlinien, aber auch mehr Anwendungslogik und operative Komplexität
Multi-Tenant-Systeme oder LMS-Workflows mit kursbezogenen Aufbewahrungsregeln
Laut der offiziellen Anpassungsanleitung von BigBlueButton werden die Rohdaten gespeichert, damit Administratoren eine Aufnahme bei Verarbeitungsfehlern wiederherstellen, ein weiteres Aufnahmeformat hinzufügen oder versehentlich gelöschte Daten wiederherstellen können. Dieser Vorteil ist mit einem höheren Speicherplatzbedarf verbunden. Dieselbe Dokumentation besagt, dass BigBlueButton die Rohdaten veröffentlichter Aufnahmen standardmäßig nach 14 Tagen löscht. Weitere Informationen finden Sie unter „Serveranpassung“ in der offiziellen BigBlueButton-Dokumentation .
Prüfen Sie die aktuelle Festplattennutzung und die letzten Aufnahmen, bevor Sie einen Aufbewahrungszeitraum festlegen. Wichtig ist dabei, wie schnell das Verzeichnis /var/bigbluebutton wächst und welche Aufnahmen die Benutzer noch benötigen.
Option 1: Veröffentlichte Aufnahmen beibehalten, aber Rohdaten entfernen
Wenn Ihr Hauptproblem der Speicherplatzverbrauch ist, die Benutzer aber weiterhin Wiedergabelinks benötigen, beginnen Sie mit der integrierten Einstellung zur Rohdatenaufbewahrung. Das tägliche Wartungsskript von BigBlueButton befindet sich unter [Pfad einfügen] /etc/cron.daily/bigbluebutton. Die dokumentierte Standardeinstellung lautet:
published_days=14
Das Skript ruft außerdem die Funktion zur Bereinigung der Rohdaten für veröffentlichte Aufzeichnungen auf. Ein höherer Wert published_daysverlängert das Zeitfenster für die Wiederherstellung; ein niedrigerer Wert reduziert den Speicherverbrauch schneller. Ein Wert wie 30 Tage kann sinnvoll sein, wenn Administratoren regelmäßig Zeit benötigen, um Aufzeichnungsfehler zu entdecken. Ein kürzerer Zeitraum ist hingegen besser geeignet, wenn der Speicherplatz begrenzt ist und die veröffentlichten Ergebnisse routinemäßig kurz nach den Besprechungen überprüft werden.
Verwechseln Sie dies nicht mit einer vollständigen Aufbewahrungsrichtlinie. Eine Änderung published_daysbedeutet nicht, dass die veröffentlichte Aufnahme selbst nach dieser Anzahl von Tagen verschwindet. Sie regelt lediglich, wie lange die Rohdaten nach der Veröffentlichung verfügbar bleiben.
Die integrierte tägliche Wartungsdatei enthält die Einstellung published_days, die für Rohdaten aus veröffentlichten Aufzeichnungen verwendet wird.
Option 2: Löschen vollständiger Aufnahmen, die älter als ein festgelegtes Alter sind
Wenn Ihre Anforderung lautet, dass Aufnahmen nach 30 Tagen gelöscht werden müssen, stellt BigBlueButton ein separates, tägliches Bereinigungsskript bereit. Das offizielle Beispiel erstellt dieses Skript /etc/cron.daily/bbb-recording-cleanup, prüft das Alter der veröffentlichten Statusdateien und der Rohdaten der Aufnahmen und ruft bbb-record --deleteAufnahmen ab, die älter als das konfigurierte Maximalalter sind.
Bevor Sie das Löschen aktivieren, überprüfen Sie die Kandidatenliste. Bei einer 30-Tage-Richtlinie hilft Ihnen dieser schreibgeschützte Befehl dabei, die veröffentlichten Präsentationsstatusdateien zu ermitteln, die älter als der Schwellenwert sind:
Dies ist kein Testlauf für BigBlueButton, sondern lediglich eine sichere Dateisystemprüfung. Verwenden Sie ihn, um Richtlinienfehler zu erkennen, bevor ein automatisierter Prozess mit dem Löschen von Daten beginnt.
Vor der Einführung einer vollständigen Aufbewahrungsrichtlinie sollten die kürzlich aufgenommenen Aufnahmen und deren Aufnahmedaten überprüft werden.
Erstelle das Bereinigungsskript.
Erstellen /etc/cron.daily/bbb-recording-cleanup. Die folgende Implementierung folgt den im offiziellen Anpassungsleitfaden von BigBlueButton beschriebenen Pfaden und Löschverfahren und stellt gleichzeitig sicher, dass der Aufbewahrungswert und die Protokolldatei leicht zu finden sind:
#!/bin/bash
set -u
MAXAGE=30
LOGFILE=/var/log/bigbluebutton/bbb-recording-cleanup.log
NOW=$(date +%s)
shopt -s nullglob
for donefile in /var/bigbluebutton/recording/status/published/*-presentation.done; do
MTIME=$(stat -c %Y "$donefile")
AGE=$(( (NOW - MTIME) / 86400 ))
if [ "$AGE" -gt "$MAXAGE" ]; then
MEETING_ID=$(basename "$donefile")
MEETING_ID=${MEETING_ID%-presentation.done}
echo "$(date --rfc-3339=seconds) deleting $MEETING_ID age=${AGE}d" >> "$LOGFILE"
bbb-record --delete "$MEETING_ID" >> "$LOGFILE" 2>&1
fi
done
for eventsfile in /var/bigbluebutton/recording/raw/*/events.xml; do
MTIME=$(stat -c %Y "$eventsfile")
AGE=$(( (NOW - MTIME) / 86400 ))
if [ "$AGE" -gt "$MAXAGE" ]; then
MEETING_ID=${eventsfile%/events.xml}
MEETING_ID=${MEETING_ID##*/}
echo "$(date --rfc-3339=seconds) deleting raw $MEETING_ID age=${AGE}d" >> "$LOGFILE"
bbb-record --delete "$MEETING_ID" >> "$LOGFILE" 2>&1
fi
done
Legen Sie die MAXAGESpeicherdauer gemäß Ihrer Richtlinie fest, nicht auf einen willkürlich niedrigen Wert. Beispielsweise benötigt man bei 30 Tagen weniger Speicherplatz, die Wiederherstellungs- und Zugriffsfrist ist jedoch kürzer als bei 90 Tagen. Wenn Aufzeichnungen einer formalen Aufbewahrungspflicht unterliegen, stimmen Sie die Richtlinie mit dem Dateneigentümer ab, bevor Sie die Löschung aktivieren.
Ein Bereinigungsskript kann alte veröffentlichte Aufzeichnungen anhand ihres Alters identifizieren und deren interne Meeting-IDs an bbb-record --delete übergeben.Die Bereinigungslogik sollte auf dem Aufzeichnungsstatus und den Rohdatenpfaden von BigBlueButton basieren, anstatt beliebige Verzeichnisse anhand ihres Namens zu löschen.
Das tägliche Skript ausführbar machen
sudo chmod +x /etc/cron.daily/bbb-recording-cleanup
sudo ls -l /etc/cron.daily/bbb-recording-cleanup
Der Dateiname hat absichtlich keine Dateiendung. Der tägliche Arbeitsmechanismus von Ubuntu verwendet üblicherweise run-partsdie Dateinamensregeln, die dazu führen können, dass manche Dateinamen mit Punkten übersprungen werden. Durch Beibehaltung des dokumentierten Namens bbb-recording-cleanupwird diese unnötige Verwirrung vermieden.
Der Kompromiss /etc/cron.dailyliegt in der Einfachheit gegenüber der exakten Zeitsteuerung. Benötigen Sie die Bereinigung zu einer bestimmten, verkehrsarmen Zeit, können Sie einen Root-Cronjob oder einen Systemd-Timer verwenden, um eine präzisere Planung zu ermöglichen. Dies ist jedoch eine individuelle Anpassung Ihres Betriebssystems und weicht von der in BigBlueButton dokumentierten Standardeinstellung ab. Überprüfen und testen Sie dies separat.
Führen Sie die Bereinigung einmal manuell durch, bevor Sie der Automatisierung vertrauen.
Nachdem Sie die Kandidatendateien geprüft haben, führen Sie das Skript einmalig in der Shell aus:
BigBlueButton dokumentiert bbb-record --delete <internal-meeting-id>den Befehl, der die Daten und die Aufzeichnung einer Besprechung löscht. Die Aufzeichnungsdokumentation weist außerdem darauf hin, dass dieser Befehl eine laufende Besprechung löschen kann. Eine sinnvolle Aufbewahrungsrichtlinie verwendet daher eine ausreichend hohe Altersgrenze, sodass eine aktive Besprechung diese Grenze niemals erreichen kann, und löscht nur IDs, die in alten Aufzeichnungsdateien gefunden wurden. Siehe die offizielle Dokumentation zu Aufzeichnung und Wiedergabe .
Führen Sie den Bereinigungsvorgang einmal manuell aus und überprüfen Sie dessen Protokoll, bevor Sie sich auf die unbeaufsichtigte tägliche Ausführung verlassen.Ein nützliches Bereinigungsprotokoll hält fest, welche internen Meeting-IDs gelöscht wurden und wann der Vorgang abgeschlossen war.
Überprüfen Sie, ob die Bereinigung wie beabsichtigt funktioniert.
Die Überprüfung sollte sowohl für den Benutzer sichtbare Aufzeichnungen als auch die Festplattennutzung umfassen. Beginnen Sie mit den Aufzeichnungsbefehlen von BigBlueButton selbst:
bbb-record --list-recentZeigt die zehn aktuellsten Aufnahmen an. bbb-record --checkÜberprüft die Aufnahmekonfiguration und Berechtigungen in BigBlueButton 2.5 und höher. Keiner der Befehle ersetzt die Speicherüberwachung; messen Sie daher auch die Aufnahmestruktur.
df -h /var/bigbluebutton
sudo du -sh /var/bigbluebutton/recording /var/bigbluebutton/published
Erwarten Sie nicht, dass die Festplattennutzung genau um die den Nutzern angezeigte Wiedergabegröße sinkt. Rohdaten, Verarbeitungsdateien, veröffentlichte Präsentationsdateien, Protokolle und temporäre Daten werden separat gespeichert, und die Bereinigungszeiten können je nach Kategorie variieren.
Verwenden Sie nach der Bereinigung die Befehle von bbb-record listing, um zu bestätigen, dass die erwarteten Aufnahmen weiterhin verfügbar sind.
Wie man eine Aufbewahrungsfrist auswählt
Ein sinnvoller Aufbewahrungswert ergibt sich aus drei Faktoren: Benutzererwartungen, Wiederherstellungsanforderungen und verfügbarem Speicherplatz. Kurze Aufbewahrungszeiten reduzieren den Speicherdruck, lassen Administratoren aber weniger Zeit, Verarbeitungsfehler zu erkennen oder Aufzeichnungen wiederherzustellen. Lange Aufbewahrungszeiten erhöhen die Flexibilität der Wiederherstellung, benötigen jedoch mehr Speicherplatz und können mit den Anforderungen an die Datenminimierung in Konflikt geraten.
Wiedergabe beibehalten, Rohdatenspeicherung minimieren: Optimieren published_daysund veröffentlichte Aufnahmen unverändert lassen.
Erzwingen Sie ein striktes Ablaufdatum für die Wiedergabe: Verwenden Sie das separate tägliche Bereinigungsskript mit einer klar dokumentierten Vorgehensweise MAXAGE.
Benötigen Sie Regeln pro Kurs oder pro Kunde? Treffen Sie Entscheidungen zur Aufbewahrung in der LMS- oder Anwendungsschicht und nutzen Sie die API von BigBlueButton gezielt, anstatt jeder Aufzeichnung ein einheitliches serverweites Alter aufzuerlegen.
Flexibilität beim Wiederherstellen erforderlich: Rohdaten länger als das Minimum aufbewahren und sicherstellen, dass die Backup-Kapazität dieser Wahl entspricht.
Häufige Fehler, die es zu vermeiden gilt
Der erste häufige Fehler ist die Annahme, dass published_daysdadurch veröffentlichte Aufzeichnungen gelöscht werden. Tatsächlich werden nur die Rohdaten der veröffentlichten Aufzeichnungen verwaltet. Der zweite Fehler ist die Verwendung rm -rfder BigBlueButton-Aufzeichnungsverzeichnisse als primären Aufbewahrungsmechanismus. Dadurch wird die Kenntnis der Meeting-IDs durch das Aufzeichnungstool umgangen, was zu inkonsistenten Daten führen kann.
Ein weiterer Fehler ist die Festlegung einer zu hohen Aufbewahrungsdauer, bevor das tatsächliche Wachstum gemessen wurde. Erfassen Sie mindestens einige Tage an duDaten dfund wählen Sie dann einen Zeitraum, der genügend Spielraum für besonders arbeitsintensive Wochen lässt. Die Produktionsanforderungen von BigBlueButton selbst erfordern einen erheblichen Speicherplatz für Aufzeichnungen. Dies verdeutlicht, dass die Datenbereinigung als Kapazitätsmanagement und nicht als Notfallmaßnahme konzipiert sein sollte, wenn ein Dateisystem nahezu voll ist.
Abschließende Checkliste
Überprüfen Sie die installierte BigBlueButton-Version mit bbb-conf --check.
Entscheiden Sie, ob Sie nur die Rohdaten bereinigen oder die Aufzeichnungen vollständig löschen lassen möchten.
Ermitteln Sie die aktuelle Speichernutzung, bevor Sie eine Aufbewahrungsfrist festlegen.
Überprüfen Sie die vorhandenen Aufzeichnungskandidaten, bevor Sie die Löschung aktivieren.
Erstelle das tägliche Aufräumskript und mache es ausführbar.
Führen Sie es einmal manuell aus und überprüfen Sie das Protokoll.
Überprüfen Sie bbb-record --list-recenterneut bbb-record --checkdie Speichernutzung.
Dokumentieren Sie die Aufbewahrungsrichtlinie, damit die Benutzer wissen, wie lange die Wiedergabe verfügbar bleibt.
Bei den meisten BigBlueButton 3.0-Installationen auf Einzelservern ist die wartungsärmste Lösung, die Rohdaten veröffentlichter Aufnahmen nach einem Wiederherstellungszeitraum durch einen integrierten täglichen Job löschen zu lassen und das dokumentierte bbb-recording-cleanuptägliche Skript nur dann hinzuzufügen, wenn auch veröffentlichte Aufnahmen ablaufen sollen. Dadurch werden zwei unterschiedliche Speicherentscheidungen getrennt und der Kompromiss transparent gemacht, anstatt alle alten Aufnahmedateien gleich zu behandeln.