Como configurar a limpeza automática de gravações no BigBlueButton

O armazenamento de gravações pode crescer rapidamente em um servidor BigBlueButton com alta demanda, mas "limpeza" pode significar duas coisas muito diferentes: remover os dados brutos da fonte após a publicação de uma gravação ou excluir a própria gravação publicada após um período de retenção. Escolher a opção errada pode desperdiçar espaço em disco ou remover conteúdo antes do esperado pelos usuários.

Este guia se concentra no BigBlueButton 3.0, que a documentação oficial lista como a versão de produção atual em outubro de 2026. A documentação do BigBlueButton 4.0 está disponível, mas ainda está marcada como em desenvolvimento. Para sistemas de produção, confirme a versão instalada bbb-conf --checkantes de copiar as configurações de retenção da documentação de outra versão. Consulte a documentação oficial de instalação do BigBlueButton .

Escolha a política de limpeza antes de alterar qualquer coisa.

Não existe um período de retenção único que se adapte a todas as situações. Uma universidade pode precisar de acesso à reprodução durante um semestre inteiro, enquanto um servidor de treinamento interno pode precisar de gravações apenas por 30 dias. A distinção útil é entre os dados brutos da gravação e os arquivos de reprodução publicados .

Opção de limpezaO que isso economizaPrincipal compensaçãoMelhor ajuste
Excluir dados brutos após a publicação.Matérias-primas e materiais de processamentoVocê perde a capacidade de reconstruir uma gravação a partir dos dados brutos originais depois que ela for removida.Servidores que desejam manter a reprodução publicada, mas controlar o crescimento do disco.
Apagar gravações completas após N diasDados de gravação publicados e associadosA gravação não está mais disponível para os usuários.Políticas de retenção claras, como 30, 60 ou 90 dias.
Exclusão controlada pelo aplicativoDepende da integração.Mais flexibilidade nas políticas, mas também maior lógica de aplicação e complexidade operacional.Sistemas multi-inquilinos ou fluxos de trabalho LMS com regras de retenção por curso

O guia oficial de personalização do BigBlueButton afirma que os dados brutos são retidos para que os administradores possam reconstruir uma gravação caso o processamento falhe, adicionar outro formato de gravação ou recuperar dados de uma exclusão acidental. Esse benefício tem um custo de armazenamento. A mesma documentação afirma que o BigBlueButton remove os dados brutos das gravações publicadas após 14 dias por padrão. Consulte a seção " Personalização do Servidor" na documentação oficial do BigBlueButton .

Terminal mostrando o uso do disco de gravação do BigBlueButton e a lista de gravações recentes.
Antes de escolher um período de retenção, verifique o uso atual do disco e as gravações recentes. O ponto de partida importante é avaliar a rapidez com que o diretório /var/bigbluebutton está crescendo e quais gravações os usuários ainda precisam.

Opção 1: manter as gravações publicadas, mas remover os dados brutos.

Se o seu principal problema for o consumo de espaço em disco, mas os usuários ainda precisarem dos links de reprodução, comece com a configuração integrada de retenção de dados brutos. O script de manutenção diária do BigBlueButton está localizado em /etc/cron.daily/bigbluebutton. O padrão documentado é:

published_days=14

O script também chama a função de limpeza de gravações brutas para gravações publicadas. Aumentar esse valor published_daysproporciona uma janela de recuperação maior para reconstruções; diminuí-lo reduz o uso de armazenamento mais rapidamente. Um valor como 30 dias pode ser razoável quando os administradores precisam rotineiramente de tempo para descobrir defeitos nas gravações, enquanto um período mais curto é mais apropriado quando o armazenamento é limitado e a saída publicada é verificada rotineiramente logo após as reuniões.

Não confunda isso com uma política de retenção completa. Alterar essa política published_daysnão significa que a gravação publicada em si desaparecerá após esse número de dias. Ela controla por quanto tempo os dados brutos permanecem disponíveis após a publicação.

O editor Nano mostra o arquivo cron diário do BigBlueButton com retenção de published_days.
O arquivo de manutenção diária integrado contém a configuração published_days usada para dados brutos de gravações publicadas.

Opção 2: excluir gravações completas com mais de uma idade predefinida.

Se o seu requisito for "as gravações devem desaparecer após 30 dias", a BigBlueButton documenta um script de limpeza diária separado. O exemplo oficial cria um arquivo /etc/cron.daily/bbb-recording-cleanup, verifica a idade dos arquivos de status publicados e dos dados brutos de gravação e remove bbb-record --deleteas gravações mais antigas que a idade máxima configurada.

Antes de habilitar a exclusão, inspecione o conjunto de candidatos. Para uma política de 30 dias, este comando somente leitura ajuda você a ver quais arquivos de status de apresentação publicados são mais antigos que o limite:

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

Este não é um comando de teste do BigBlueButton; é simplesmente uma verificação segura do sistema de arquivos. Use-o para detectar erros de política antes que uma tarefa automatizada comece a excluir dados.

Terminal listando gravações recentes do BigBlueButton antes da limpeza automática.
Analise as gravações recentes e suas datas antes de implementar uma política de retenção total.

Crie o script de limpeza.

Criar /etc/cron.daily/bbb-recording-cleanup. A implementação a seguir segue a abordagem de caminhos e exclusão descrita no guia de personalização oficial do BigBlueButton, mantendo o valor de retenção e o arquivo de log fáceis de encontrar:

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

Defina MAXAGEo período de retenção de acordo com sua política, e não com um número baixo arbitrário. Por exemplo, 30 dias resultam em um espaço de armazenamento menor, mas em um período de recuperação e acesso mais curto do que 90 dias. Se as gravações fizerem parte de um requisito formal de retenção, confirme a política com o proprietário dos dados antes de habilitar a exclusão.

O editor Nano mostra um script de limpeza do BigBlueButton com lógica de exclusão de registros MAXAGE e bbb.
Um script de limpeza pode identificar gravações antigas publicadas por idade e passar seus IDs de reunião internos para bbb-record --delete.
O editor Nano mostra outra visão do script de limpeza de gravações diárias do BigBlueButton.
A lógica de limpeza deve operar com base no status de gravação e nos caminhos dos dados brutos do BigBlueButton, em vez de excluir diretórios aleatórios por nome.

Torne o script diário executável.

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

O nome do arquivo não possui extensão intencionalmente. O mecanismo de tarefas diárias do Ubuntu geralmente usa ` run-parts./`, cujas regras de nomenclatura podem fazer com que alguns nomes com pontos sejam ignorados. Manter o nome documentado bbb-recording-cleanupevita essa fonte desnecessária de confusão.

A vantagem /etc/cron.dailyé a simplicidade em detrimento da precisão no momento exato. Se você precisa de uma limpeza em um horário específico de baixo tráfego, uma entrada cron de root ou um timer do systemd podem fornecer um agendamento mais preciso, mas isso se torna uma personalização do seu sistema operacional, em vez do padrão documentado pelo BigBlueButton. Monitore e teste separadamente.

Execute a limpeza manualmente uma vez antes de confiar na automação.

Após analisar os arquivos candidatos, execute o script uma vez a partir do terminal:

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

O BigBlueButton descreve bbb-record --delete <internal-meeting-id>o comando que remove os dados de uma reunião e sua gravação. A documentação de gravação também alerta que esse comando pode apagar uma reunião em andamento. Portanto, uma política de retenção sensata utiliza um limite de idade suficientemente grande para que uma reunião ativa nunca se enquadre nesse critério, e exclui apenas os IDs encontrados em gravações antigas. Consulte a documentação oficial de Gravação e Reprodução .

Terminal executando o script diário de limpeza de gravações do BigBlueButton e exibindo seu registro.
Execute a tarefa de limpeza manualmente uma vez e inspecione o registro gerado antes de confiar na execução diária automatizada.
Terminal mostrando as exclusões de gravações do BigBlueButton concluídas no registro de limpeza.
Um registro de limpeza útil documenta quais IDs de reuniões internas foram excluídas e quando a tarefa foi concluída.

Verifique se a limpeza está funcionando conforme o esperado.

A verificação deve abranger tanto as gravações visíveis ao usuário quanto o uso do disco. Comece com os comandos de gravação do próprio BigBlueButton:

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

bbb-record --list-recentExibe as dez gravações mais recentes. bbb-record --checkVerifica a configuração e as permissões de gravação no BigBlueButton 2.5 e versões posteriores. Nenhum dos comandos substitui o monitoramento de armazenamento, portanto, meça também a árvore de gravações:

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

Não espere que o uso do disco diminua exatamente pelo tamanho de reprodução mostrado aos usuários. Mídia bruta, arquivos em processamento, arquivos de apresentação publicados, registros e dados temporários são armazenados separadamente, e o tempo de limpeza pode variar entre as categorias.

Terminal exibindo o comando bbb-record list com gravações BigBlueButton publicadas.
Após a limpeza, utilize os comandos de listagem do bbb-record para confirmar se as gravações esperadas ainda estão disponíveis.

Como escolher um período de retenção

Um valor de retenção útil depende de três restrições: expectativas do usuário, necessidades de recuperação e armazenamento disponível. Um período de retenção curto reduz a pressão sobre o armazenamento, mas dá aos administradores menos tempo para descobrir defeitos de processamento ou reconstruir gravações. Um período de retenção longo aumenta a flexibilidade de recuperação, mas exige mais espaço em disco e pode entrar em conflito com os requisitos de minimização de dados.

  • Mantenha a reprodução, minimize o armazenamento bruto: ajuste published_dayse deixe as gravações publicadas intactas.
  • Imponha um tempo limite de reprodução rígido: use um script de limpeza diária separado com um procedimento claramente documentado MAXAGE.
  • Precisa de regras por curso ou por cliente: implemente as decisões de retenção na camada LMS ou de aplicação e utilize a API do BigBlueButton de forma criteriosa, em vez de impor uma idade única para todas as gravações em todo o servidor.
  • Necessidade de flexibilidade na reconstrução: manter os dados brutos por mais tempo do que o mínimo exigido e garantir que a capacidade de backup seja compatível com essa escolha.

Erros comuns a evitar

O primeiro erro comum é assumir que o published_daysrecurso exclui gravações publicadas. Ele controla apenas os dados brutos associados às gravações publicadas. O segundo erro é usar rm -rfos diretórios de gravação do BigBlueButton como mecanismo principal de retenção. Isso ignora o conhecimento dos IDs das reuniões pela ferramenta de gravação e pode resultar em estados inconsistentes.

Outro erro comum é definir um período de retenção muito longo antes de medir o crescimento real. Capture dados por pelo menos alguns dias due df, em seguida, selecione um período que deixe margem suficiente para semanas excepcionalmente movimentadas. Os próprios requisitos de produção do BigBlueButton exigem um armazenamento substancial de gravações, o que nos lembra que a limpeza deve ser planejada como gerenciamento de capacidade, e não como uma reação emergencial quando o sistema de arquivos está quase cheio.

Lista de verificação final

  • Confirme a versão do BigBlueButton instalada com bbb-conf --check.
  • Decida se você precisa apenas da limpeza dos dados brutos ou da expiração completa das gravações.
  • Meça o uso atual do espaço de armazenamento antes de selecionar um período de retenção.
  • Analise as gravações antigas candidatas antes de habilitar a exclusão.
  • Crie o script de limpeza diária e torne-o executável.
  • Execute o programa manualmente uma vez e inspecione o registro.
  • Verifique novamente bbb-record --list-recento bbb-record --checkuso de disco.
  • Documente a política de retenção para que os usuários saibam por quanto tempo a reprodução permanecerá disponível.

Para a maioria das instalações do BigBlueButton 3.0 em servidor único, a configuração com menor necessidade de manutenção consiste em deixar que a tarefa diária integrada remova os dados brutos das gravações publicadas após um período de recuperação e, em seguida, adicionar o bbb-recording-cleanupscript diário documentado somente quando também for necessário que as gravações publicadas expirem. Isso separa duas decisões de armazenamento diferentes e torna a compensação explícita, em vez de tratar todos os arquivos de gravação antigos da mesma maneira.

Deixar um comentário

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

Compare 10 ferramentas de varredura de ping para descoberta rápida de LAN, varredura multiplataforma e gerenciamento de endereços IP. Saiba o que uma varredura pode — e não pode — revelar.

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

Compare seis ferramentas de gerenciamento de rede para monitoramento de desempenho, incluindo cobertura SNMP, mapeamento, alertas, modelos de implantação e custo-benefício.

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Compare as melhores opções de analisadores de Wi-Fi para Windows, iPhone e Android, incluindo ferramentas para congestionamento de canais, cobertura de sinal, mapas de calor e solução de problemas de rede.

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Compare sete monitores de ping gratuitos e de código aberto, desde suítes completas de rede até sondas de latência específicas, e escolha a opção mais adequada para disponibilidade, perda de pacotes e histórico.

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Veja como a taxa de transferência de rede difere da largura de banda, o que causa desempenho lento ou instável e quais ferramentas podem testar um caminho ou monitorar o tráfego.

Melhor software de servidor SFTP para transferências seguras de arquivos

Melhor software de servidor SFTP para transferências seguras de arquivos

Compare softwares de servidor SFTP confiáveis ​​para Windows e Linux, incluindo OpenSSH, Bitvise, SolarWinds e SFTPGo. Encontre a solução ideal para suas necessidades de segurança e transferência de arquivos.

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Crie um monitoramento de rede prático com cobertura clara de dispositivos, métricas de desempenho úteis, alertas acionáveis ​​e uma comparação entre SolarWinds NPM, PRTG e OpManager.

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

Compare sete ferramentas de gerenciamento de endereços IP para descoberta de sub-redes, coordenação de DNS e DHCP, inventário de rede e IPAM de código aberto.

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

Compare ferramentas de varredura de rede para descoberta rápida de dispositivos, varreduras de IP multiplataforma e IPAM corporativo, com orientações sobre como escolher a opção mais adequada para sua rede.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

Compare seis ferramentas de monitoramento de rede Linux para descoberta de dispositivos SNMP, gráficos de interface, métricas de host, verificação de serviços e fluxos de tráfego.