Marcio Cunha

Como limpar o cache e logs do Systemd no Linux via terminal

Aprenda a apagar logs antigos e arquivos temporários do Systemd no Linux via terminal para recuperar espaço livre em disco de forma rápida e segura.

Marcio Cunha•4 min
Também disponível em:EnglishEspañol
Resumo
  • O Systemd acumula gigabytes de logs no diretório journal que consomem o armazenamento do servidor ao longo do tempo.
  • A ferramenta journalctl permite filtrar e expurgar registros antigos com base em critérios estritos de tempo ou tamanho.
  • Ajustar o arquivo de configuração journald.conf previne o crescimento excessivo automático dos arquivos temporários.
  • A rotina de limpeza periódica evita falhas críticas de sistema operacionais causadas por partições de raiz lotadas.
  • O gerenciamento adequado de logs complementa outras limpezas comuns, como a remoção de registros gerais do journalctl e a purga de cache do Docker .

Por que o Systemd consome tanto espaço em disco no Linux?

Gerenciar o armazenamento de um servidor Linux exige atenção constante a diretórios que crescem silenciosamente. O Systemd, que atua como o inicializador padrão e gerenciador de serviços na maioria das distribuições modernas, mantém um subsistema de registro chamado Journal. Na prática, isso significa que cada inicialização, erro de serviço, aviso de hardware e mensagem de aplicativos é gravada de forma persistente em arquivos binários compactados dentro da pasta /var/log/journal. Com o passar dos meses, essa base de dados cresce a ponto de lotar a partição principal, gerando travamentos e impedindo a gravação de novos arquivos no sistema operacional.

Para quem administra servidores dedicados, ambientes de desenvolvimento ou até estações de trabalho, lidar com partições cheias é uma dor de cabeça frequente. Quando o espaço chega a cem por cento de ocupação, o kernel do Linux pode recusar conexões, fechar processos abruptamente e corromper bancos de dados. Antes de recorrer a medidas drásticas como redimensionar partições, o caminho mais rápido e seguro consiste em inspecionar o volume ocupado pelos registros do Systemd e expurgar o excedente desnecessário através do terminal.

Como verificar o espaço atual ocupado pelo Journal

Antes de executar qualquer comando de remoção, é fundamental saber exatamente quanto espaço os arquivos do Systemd estão consumindo na sua máquina. O próprio comando journalctl oferece uma ferramenta de diagnóstico nativa para essa finalidade. Na prática, executar essa verificação evita que você gaste tempo limpando o lugar errado ou crie falsas expectativas sobre o ganho de espaço em disco.

Para consultar o tamanho total utilizado pelos logs do Systemd, abra o terminal e digite a instrução de verificação de disco do journal. O sistema exibirá o consumo acumulado desde a primeira gravação persistente encontrada no disco rígido. Se o valor retornado for de vários gigabytes, chegou o momento de aplicar uma política de retenção mais restritiva para recuperar os gigabytes perdidos e devolver a agilidade ao servidor.

journalctl --disk-usage

Compreender esse consumo inicial ajuda a planejar a estratégia de limpeza. Além dos logs do Systemd, servidores costumam acumular resíduos em outras frentes, sendo útil combinar esta rotina com técnicas de limpeza avançada de registros do journalctl e a remoção de pacotes antigos do gerenciador de sistemas.

Como apagar logs do Systemd por tempo ou tamanho

Quando a verificação revela um volume exagerado de dados antigos acumulados, o terminal oferece parâmetros diretos para expurgar o que não é mais útil. O comando vacuum permite apagar arquivos com base em critérios temporais, como manter apenas os registros das últimas semanas, ou baseados em limites rígidos de espaço total em disco.

Para definir que o journal deve reter apenas os dados gerados nos últimos dias, utilize o parâmetro de tempo. Na prática, isso apaga tudo o que for mais antigo que o período estipulado, liberando o espaço correspondente de forma automatizada. Se preferir limitar o tamanho total do diretório de logs para um teto específico, o comando de limite de espaço faz o trabalho pesado de remoção dos arquivos mais antigos primeiro.

  1. Abra o terminal com privilégios administrativos para garantir acesso aos arquivos protegidos do Systemd.
  2. Execute o comando abaixo para manter apenas os logs gerados nos últimos sete dias:
    sudo journalctl --vacuum-time=7d
  3. Como alternativa, limite o tamanho total do diretório para no máximo duzentos megabytes:
    sudo journalctl --vacuum-size=200M

Essas ações executam a limpeza imediata sem corromper a estrutura do banco de dados de logs. Para quem busca otimizar ainda mais o armazenamento do sistema, vale a pena integrar essa manutenção com a rotina de limpeza de cache do Docker, garantindo um ambiente totalmente livre de arquivos órfãos.

Como configurar limites permanentes no arquivo journald.conf

Limpar o cache manualmente resolve a emergência atual, mas os arquivos voltarão a crescer nas semanas seguintes caso nenhuma regra permanente seja aplicada. O Systemd permite controlar o comportamento de gravação e retenção através do arquivo de configuração principal localizado no diretório de configuração do sistema.

Para automatizar o controle de espaço, você deve editar o arquivo de configuração do journal utilizando um editor de texto no terminal, como o nano. Nele, procure pelas diretrizes que definem o tamanho máximo permitido e o tempo de retenção. Ao remover o caractere de comentário (#) dessas linhas e definir valores sustentáveis, você garante que o próprio Systemd fará a limpeza automática sempre que o limite for atingido.

sudo nano /etc/systemd/journald.conf

Dentro do arquivo, ajuste parâmetros como SystemMaxUse e MaxRetentionSec para valores adequados à capacidade do seu disco rígido. Após salvar as alterações, reinicie o serviço do journal para aplicar as novas regras imediatamente através do comando de reinicialização de serviços do systemctl. Para aprofundar esses conceitos na prática em produção, confira também nossa análise técnica sobre Como testar transistor IGBT na placa com multímetro.

Considerações finais sobre a manutenção do Systemd

Manter o Systemd limpo e com regras de retenção bem definidas é uma prática essencial de higiene operacional no Linux. Servidores em produção dependem de espaço livre constante para operar rotinas de backup, compilações e atualizações de segurança sem interrupções indesejadas. Ao dominar os comandos de inspeção e expurgo do journal, você ganha autonomia para diagnosticar e resolver gargalos de armazenamento em poucos minutos, garantindo estabilidade e longevidade para a infraestrutura tecnológica.