Jak skonfigurować automatyczne czyszczenie nagrań w BigBlueButton

Na obciążonym serwerze BigBlueButton ilość miejsca na nagrania może szybko rosnąć, ale „czyszczenie” może oznaczać dwie zupełnie różne rzeczy: usunięcie surowych danych źródłowych po opublikowaniu nagrania lub usunięcie samego opublikowanego nagrania po upływie okresu przechowywania. Wybór niewłaściwej opcji może spowodować marnowanie miejsca na dysku lub usunięcie treści wcześniej, niż oczekują użytkownicy.

Niniejszy przewodnik koncentruje się na BigBlueButton 3.0, który w oficjalnej dokumentacji jest wymieniony jako aktualna gałąź produkcyjna (stan na październik 2026 r.). Dokumentacja BigBlueButton 4.0 jest dostępna, ale nadal oznaczona jako w fazie rozwoju. W przypadku systemów produkcyjnych, bbb-conf --checkprzed skopiowaniem ustawień retencji z dokumentacji innej gałęzi, należy potwierdzić zainstalowaną wersję za pomocą [brakuje informacji]. Zapoznaj się z oficjalną dokumentacją instalacji BigBlueButton .

Przed wprowadzeniem jakichkolwiek zmian wybierz zasady czyszczenia

Nie ma jednej wartości retencji, która pasowałaby do każdego wdrożenia. Uniwersytet może potrzebować dostępu do odtwarzania przez cały semestr, podczas gdy wewnętrzny serwer szkoleniowy może potrzebować nagrań tylko przez 30 dni. Przydatne jest rozróżnienie między surowymi danymi z nagrań a opublikowanymi plikami odtwarzania .

Wybór czyszczeniaCo to oszczędzaGłówny kompromisNajlepiej pasuje
Usuń surowe dane po publikacjiSurowce i materiały do ​​przetwarzaniaPo usunięciu oryginalnych danych w postaci nieprzetworzonej tracisz możliwość odtworzenia nagraniaSerwery, które chcą zachować opublikowane odtwarzanie, ale kontrolują wzrost dysku
Usuń kompletne nagrania po N dniachOpublikowane i powiązane dane rejestracyjneNagranie nie jest już dostępne dla użytkownikówJasne zasady przechowywania, np. 30, 60 lub 90 dni
Usuwanie kontrolowane przez aplikacjęZależy od integracjiWiększa elastyczność polityki, ale większa logika aplikacji i złożoność operacyjnaSystemy wielodostępne lub przepływy pracy LMS z regułami przechowywania danych dla poszczególnych kursów

Oficjalny przewodnik BigBlueButton dotyczący personalizacji informuje, że surowe dane są zachowywane, dzięki czemu administratorzy mogą odbudować nagranie w przypadku niepowodzenia przetwarzania, dodać inny format nagrania lub odzyskać dane po przypadkowym usunięciu. Ta korzyść wiąże się z kosztami przechowywania. Ta sama dokumentacja podaje, że BigBlueButton domyślnie usuwa surowe dane opublikowanych nagrań po 14 dniach. Zobacz sekcję „Dostosowywanie serwera” w oficjalnej dokumentacji BigBlueButton .

Terminal pokazujący użycie dysku do nagrywania BigBlueButton i listę ostatnich nagrań
Przed wyborem okresu przechowywania sprawdź aktualne wykorzystanie dysku i ostatnie nagrania. Ważnym punktem odniesienia jest szybkość rozrastania się katalogu /var/bigbluebutton i to, jakich nagrań użytkownicy nadal potrzebują.

Opcja 1: zachowaj opublikowane nagrania, ale usuń surowe dane

Jeśli głównym problemem jest zużycie dysku, ale użytkownicy nadal potrzebują linków do odtwarzania, zacznij od wbudowanego ustawienia przechowywania surowych danych. Skrypt codziennej konserwacji BigBlueButton znajduje się pod adresem /etc/cron.daily/bigbluebutton. Udokumentowana wartość domyślna to:

published_days=14

Skrypt wywołuje również funkcję czyszczenia surowych nagrań dla opublikowanych nagrań. Wydłużenie published_daystego czasu wydłuża okno odzyskiwania danych w przypadku odbudowy; skrócenie go zmniejsza zużycie pamięci masowej szybciej. Wartość taka jak 30 dni może być odpowiednia, gdy administratorzy rutynowo potrzebują czasu na wykrycie usterek w nagraniach, natomiast krótszy okres jest bardziej odpowiedni, gdy pojemność pamięci masowej jest ograniczona, a opublikowane dane wyjściowe są rutynowo sprawdzane wkrótce po spotkaniach.

Nie należy mylić tego z polityką pełnego przechowywania. Zmiana published_daysnie oznacza, że ​​samo opublikowane nagranie zniknie po upływie określonej liczby dni. Kontroluje ona, jak długo surowe dane pozostają dostępne po publikacji.

Edytor Nano pokazujący dzienny plik cron BigBlueButton z retencją published_days
Wbudowany plik codziennej konserwacji zawiera ustawienie published_days używane w przypadku surowych danych z opublikowanych nagrań.

Opcja 2: usuń kompletne nagrania starsze niż ustalony wiek

Jeśli Twoim wymaganiem jest „nagrania muszą zniknąć po 30 dniach”, BigBlueButton dokumentuje oddzielny, codzienny skrypt czyszczący. Oficjalny przykład tworzy /etc/cron.daily/bbb-recording-cleanup, sprawdza wiek opublikowanych plików statusu i surowych danych nagrań oraz odwołuje się bbb-record --deletedo nagrań starszych niż skonfigurowany maksymalny wiek.

Przed włączeniem usuwania sprawdź zestaw kandydatów. W przypadku polityki 30-dniowej to polecenie tylko do odczytu pozwala sprawdzić, które opublikowane pliki ze statusem prezentacji są starsze niż próg:

sudo find /var/bigbluebutton/recording/status/published \
  -type f -name '*-presentation.done' -mtime +30 -print

To nie jest polecenie BigBlueButton do wykonania na sucho; to po prostu bezpieczna kontrola systemu plików. Użyj go, aby wykryć błędy w polityce, zanim automatyczne zadanie rozpocznie usuwanie danych.

Terminal wyświetla ostatnie nagrania BigBlueButton przed automatycznym czyszczeniem
Przed wdrożeniem polityki pełnego przechowywania przejrzyj najnowsze nagrania i ich daty.

Utwórz skrypt czyszczący

Utwórz /etc/cron.daily/bbb-recording-cleanup. Poniższa implementacja wykorzystuje podejście do ścieżek i usuwania opisane w oficjalnym przewodniku dostosowywania BigBlueButton, jednocześnie zapewniając łatwość odnalezienia wartości retencji i pliku dziennika:

#!/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

Ustaw MAXAGEzgodnie ze swoją polityką, a nie na dowolnie niską liczbę. Na przykład 30 dni oznacza mniejszą przestrzeń dyskową, ale krótszy czas odzyskiwania i dostępu niż 90 dni. Jeśli nagrania są częścią formalnego wymogu przechowywania, przed włączeniem usuwania należy potwierdzić zasady z właścicielem danych.

Edytor Nano pokazujący skrypt czyszczący BigBlueButton z logiką usuwania rekordów MAXAGE i bbb
Skrypt czyszczący może zidentyfikować stare opublikowane nagrania według wieku i przekazać ich wewnętrzne identyfikatory spotkań do polecenia bbb-record --delete.
Edytor Nano pokazujący inny widok skryptu czyszczącego codzienne nagrania BigBlueButton
Logika czyszczenia powinna działać na podstawie stanu nagrywania BigBlueButton oraz ścieżek surowych danych, a nie usuwać dowolnych katalogów według nazwy.

Uczyń skrypt dzienny wykonywalnym

sudo chmod +x /etc/cron.daily/bbb-recording-cleanup
sudo ls -l /etc/cron.daily/bbb-recording-cleanup

Nazwa pliku celowo nie ma rozszerzenia. Mechanizm codziennych zadań Ubuntu często korzysta z rozszerzenia run-parts, którego reguły nazewnictwa plików mogą powodować pomijanie niektórych nazw z kropkami. Zachowanie udokumentowanej nazwy bbb-recording-cleanuppozwala uniknąć tego niepotrzebnego źródła nieporozumień.

Wadą /etc/cron.dailyjest prostota, a nie precyzyjny harmonogram. Jeśli potrzebujesz czyszczenia w precyzyjnie wyznaczonym czasie, gdy ruch jest niewielki, wpis w cronie root lub timer systemd może zapewnić dokładniejszy harmonogram, ale staje się to Twoim własnym dostosowaniem systemu operacyjnego, a nie domyślnym ustawieniem udokumentowanym przez BigBlueButton. Śledź to i testuj osobno.

Uruchom czyszczenie ręcznie raz przed zaufaniem automatyzacji

Po przejrzeniu plików kandydatów uruchom skrypt raz z poziomu powłoki:

sudo /etc/cron.daily/bbb-recording-cleanup
sudo tail -n 50 /var/log/bigbluebutton/bbb-recording-cleanup.log

Dokumentacja BigBlueButton bbb-record --delete <internal-meeting-id>opisuje polecenie, które usuwa dane ze spotkania i jego nagranie. Dokumentacja nagrywania ostrzega również, że to polecenie może usunąć trwające spotkanie. Dlatego rozsądna polityka przechowywania danych stosuje wystarczająco wysoki próg wieku, aby aktywne spotkanie nigdy się do niego nie zakwalifikowało, i usuwa tylko identyfikatory wykryte w starych artefaktach nagrania. Zobacz oficjalną dokumentację nagrywania i odtwarzania .

Terminal uruchamiający skrypt czyszczący rejestrowanie codzienne BigBlueButton i wyświetlający jego dziennik
Uruchom zadanie czyszczenia ręcznie jeden raz i przejrzyj jego dziennik, zanim zaczniesz polegać na codziennym, bezobsługowym wykonywaniu czynności.
Terminal pokazujący zakończone usuwanie nagrań BigBlueButton w dzienniku czyszczenia
Przydatny dziennik czyszczenia rejestruje, które wewnętrzne identyfikatory spotkań zostały usunięte i kiedy zadanie zostało ukończone.

Sprawdź, czy czyszczenie działa zgodnie z oczekiwaniami

Weryfikacja powinna obejmować zarówno nagrania widoczne dla użytkownika, jak i użycie dysku. Zacznij od własnych poleceń nagrywania BigBlueButton:

sudo bbb-record --list-recent
sudo bbb-record --check

bbb-record --list-recentWyświetla dziesięć najnowszych nagrań. bbb-record --checkSprawdza konfigurację nagrywania i uprawnienia w BigBlueButton 2.5 i nowszych. Żadne z tych poleceń nie zastępuje monitorowania pamięci masowej, więc mierzy również drzewo nagrań:

df -h /var/bigbluebutton
sudo du -sh /var/bigbluebutton/recording /var/bigbluebutton/published

Nie należy oczekiwać, że wykorzystanie dysku spadnie dokładnie o rozmiar wyświetlany użytkownikom. Surowe multimedia, pliki przetwarzania, opublikowane pliki prezentacji, dzienniki i dane tymczasowe są przechowywane osobno, a czas czyszczenia może się różnić w zależności od kategorii.

Terminal pokazujący polecenie bbb-record list z opublikowanymi nagraniami BigBlueButton
Po oczyszczeniu użyj poleceń bbb-record, aby upewnić się, że oczekiwane nagrania nadal są dostępne.

Jak wybrać okres przechowywania

Przydatna wartość retencji wynika z trzech ograniczeń: oczekiwań użytkowników, potrzeb w zakresie odzyskiwania danych oraz dostępnej pamięci masowej. Krótki czas retencji zmniejsza obciążenie pamięci masowej, ale daje administratorom mniej czasu na wykrywanie błędów przetwarzania lub odbudowę nagrań. Długi czas retencji zwiększa elastyczność odzyskiwania danych, ale wymaga więcej miejsca na dysku i może kolidować z wymogami minimalizacji danych.

  • Zachowaj możliwość odtwarzania, zminimalizuj ilość miejsca na dane w postaci surowej: dostrój published_daysi pozostaw opublikowane nagrania nienaruszone.
  • Wymuś trwałe wygaśnięcie odtwarzania: użyj oddzielnego codziennego skryptu czyszczącego z jasno udokumentowaną wersją MAXAGE.
  • Potrzebne są reguły dotyczące danego kursu lub klienta: decyzje dotyczące retencji należy podejmować na poziomie LMS lub warstwy aplikacji, a interfejs API BigBlueButton należy wykorzystywać rozważnie, zamiast narzucać jeden wiek dla całego serwera dla każdego nagrania.
  • Potrzebujesz elastyczności w zakresie odbudowy: przechowuj surowe dane dłużej niż jest to konieczne i upewnij się, że pojemność kopii zapasowej odpowiada temu wyborowi.

Typowe błędy, których należy unikać

Pierwszym częstym błędem jest założenie, że published_daysusuwa opublikowane nagrania. Dotyczy to jedynie surowych danych powiązanych z opublikowanymi nagraniami. Drugim jest używanie rm -rfich jako głównego mechanizmu przechowywania do katalogów nagrań BigBlueButton. To pomija wiedzę narzędzia do nagrywania o identyfikatorach spotkań i może powodować niespójny stan.

Kolejnym błędem jest agresywne ustawianie retencji przed zmierzeniem faktycznego wzrostu. Należy zarejestrować dane z co najmniej kilku dni , dua dfnastępnie wybrać okres, który pozostawi wystarczająco dużo miejsca na wyjątkowo pracowite tygodnie. Same wymagania produkcyjne BigBlueButton wymagają dużej ilości miejsca na nagrania, co przypomina, że ​​czyszczenie powinno być zaprojektowane jako zarządzanie pojemnością, a nie jako reakcja awaryjna, gdy system plików jest prawie pełny.

Ostateczna lista kontrolna

  • Potwierdź zainstalowaną wersję BigBlueButton za pomocą bbb-conf --check.
  • Zdecyduj, czy potrzebujesz jedynie oczyszczenia surowych danych, czy całkowitego wygaśnięcia nagrań.
  • Przed wyborem okresu przechowywania zmierz aktualne wykorzystanie pamięci masowej.
  • Przed zezwoleniem na usunięcie przejrzyj stare nagrania.
  • Utwórz skrypt codziennego czyszczenia i uczyń go wykonywalnym.
  • Uruchom go ręcznie raz i sprawdź dziennik.
  • Sprawdź ponownie bbb-record --list-recent, bbb-record --check, i użycie dysku.
  • Udokumentuj zasady przechowywania, aby użytkownicy wiedzieli, jak długo pliki do odtworzenia będą dostępne.

W przypadku większości instalacji BigBlueButton 3.0 na jednym serwerze, projekt wymagający najmniejszej konserwacji polega na tym, że wbudowane zadanie codzienne usuwa surowe dane opublikowanych nagrań po upływie okna odzyskiwania, a następnie dodaje udokumentowany bbb-recording-cleanupskrypt dzienny tylko wtedy, gdy wymagane jest wygaśnięcie opublikowanych nagrań. To oddziela dwie różne decyzje dotyczące przechowywania i wyraźnie określa kompromis, zamiast traktować każdy stary plik nagrania w ten sam sposób.

Zostaw komentarz

10 najlepszych narzędzi do pingowania w celu znajdowania urządzeń w sieci

10 najlepszych narzędzi do pingowania w celu znajdowania urządzeń w sieci

Porównaj 10 narzędzi do pingowania, które umożliwiają szybkie wykrywanie sieci LAN, skanowanie międzyplatformowe i zarządzanie adresami IP. Dowiedz się, co narzędzie pingujące może Ci powiedzieć, a czego nie.

6 najlepszych narzędzi do zarządzania siecią, umożliwiających śledzenie wydajności

6 najlepszych narzędzi do zarządzania siecią, umożliwiających śledzenie wydajności

Porównaj sześć narzędzi do zarządzania siecią służących do monitorowania wydajności, obejmujących zasięg SNMP, mapowanie, alerty, modele wdrażania i kompromisy kosztów.

Ping Monitor: 7 darmowych i otwartych narzędzi do monitorowania dostępności sieci

Ping Monitor: 7 darmowych i otwartych narzędzi do monitorowania dostępności sieci

Porównaj siedem darmowych i otwartych monitorów pingów — od kompletnych pakietów sieciowych po ukierunkowane sondy opóźnień — i wybierz odpowiedni monitor pod kątem dostępności, utraty pakietów i historii.

QoS w sieciach: czym jest jakość usług i jak działa

QoS w sieciach: czym jest jakość usług i jak działa

Dowiedz się, co oznacza QoS w sieciach, w jaki sposób oznaczenia DSCP i kolejki ruchu nadają priorytet aplikacjom głosowym, wideo i biznesowym oraz czego QoS nie jest w stanie naprawić.

Najlepsze oprogramowanie serwera SFTP do bezpiecznego przesyłania plików

Najlepsze oprogramowanie serwera SFTP do bezpiecznego przesyłania plików

Porównaj niezawodne oprogramowanie serwera SFTP dla systemów Windows i Linux, w tym OpenSSH, Bitvise, SolarWinds i SFTPGo. Znajdź rozwiązanie odpowiednie dla swoich potrzeb w zakresie bezpieczeństwa i transferu plików.

7 najlepszych narzędzi do zarządzania adresami IP dla zespołów sieciowych

7 najlepszych narzędzi do zarządzania adresami IP dla zespołów sieciowych

Porównaj siedem narzędzi do zarządzania adresami IP służących do wykrywania podsieci, koordynacji DNS i DHCP, inwentaryzacji sieci i otwartego oprogramowania IPAM.

6 najlepszych narzędzi do monitorowania serwerów Windows Server zapewniających lepszą dostępność i wydajność

6 najlepszych narzędzi do monitorowania serwerów Windows Server zapewniających lepszą dostępność i wydajność

Porównaj sześć narzędzi do monitorowania systemu Windows Server pod kątem zbierania danych systemu Windows, widoczności aplikacji, modelu wdrażania i licencjonowania, aby znaleźć odpowiednie rozwiązanie.

10 najlepszych narzędzi do skanowania sieci w celu wykrywania urządzeń i adresów IP

10 najlepszych narzędzi do skanowania sieci w celu wykrywania urządzeń i adresów IP

Porównaj narzędzia do skanowania sieciowego umożliwiające szybkie wykrywanie urządzeń, skanowanie adresów IP na wielu platformach oraz zarządzanie IPAM w przedsiębiorstwie. Znajdziesz tu wskazówki dotyczące dopasowania każdej opcji do swojej sieci.

Najlepsze praktyki monitorowania sieci: co śledzić i jakich narzędzi używać

Najlepsze praktyki monitorowania sieci: co śledzić i jakich narzędzi używać

Zbuduj praktyczny monitoring sieci z przejrzystym zakresem urządzeń, przydatnymi wskaźnikami wydajności, przydatnymi alertami oraz porównaniem SolarWinds NPM, PRTG i OpManager.

Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej

Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej

Użyj opcji --traceroute programu Nmap, aby mapować przeskoki do autoryzowanego hosta, zrozumieć dane wyjściowe dotyczące przeskoków i czasu RTT oraz rozwiązywać problemy z brakującymi odpowiedziami bez nadmiernego skanowania.