Foto preto e branco de disco rígido aberto
Unsplash/redaquamedia

Os diretórios /tmp e /cache em sistemas Linux armazenam arquivos temporários e caches que podem, com o tempo, ocupar espaço significativo no disco e afetar o desempenho do sistema. Embora esses arquivos sejam geralmente removidos automaticamente durante o reinício, há situações em que uma limpeza manual pode ser necessária. A seguir, veremos como realizar esse procedimento de maneira segura e eficaz.

Em muitos casos, o sistema Linux lida bem com a remoção automática de arquivos temporários e caches. No entanto, quando o espaço em disco se torna escasso ou quando há problemas de desempenho, a limpeza manual desses diretórios pode ser uma solução rápida e eficiente. Essa prática ajuda a liberar espaço e pode resolver erros relacionados a aplicativos que armazenam grandes quantidades de dados temporários.

Limpando o diretório /tmp

O diretório /tmp é utilizado tanto pelo sistema operacional quanto por aplicativos para armazenar arquivos temporários que geralmente são removidos após o reinício do sistema. No entanto, se o espaço em disco está limitado ou se há necessidade de uma limpeza imediata, é possível realizar essa operação manualmente. Para isso, siga os passos abaixo:

  1. Abra o Terminal.
  2. Execute o seguinte comando para excluir todos os arquivos e pastas dentro de /tmp:

     sudo rm -rf /tmp/*
    

    O parâmetro -rf garante que as pastas sejam removidas de forma recursiva e sem solicitar confirmação.

Limpando o diretório /cache

O diretório /cache pode variar de localização dependendo da distribuição Linux e do tipo de cache que você deseja limpar.

  • Cache do Sistema: Se o objetivo é limpar o cache do sistema, como o diretório /var/cache, utilize o comando:

      sudo rm -rf /var/cache/*
    
  • Cache do Usuário: Para limpar o cache de um usuário específico, como o diretório ~/.cache, execute:

      rm -rf ~/.cache/*
    

    Esse comando remove o cache apenas do usuário que está atualmente logado.

Considerações importantes

  • Use com Cuidado: O comando rm -rf é bastante poderoso e pode excluir arquivos importantes se usado incorretamente. Verifique sempre os caminhos antes de executar o comando.
  • Reinício de Serviços: Após limpar determinados caches, pode ser necessário reiniciar serviços ou aplicativos para que eles regenerem os arquivos necessários.

Para simplificar o processo de limpeza e garantir que ele ocorra regularmente, é possível configurar uma tarefa cron ou criar um script de shell. Isso automatiza a remoção dos arquivos temporários e caches, garantindo a manutenção contínua do sistema sem a necessidade de intervenção manual frequente.

Automatizando com Cron

Para criar uma tarefa cron que limpa os diretórios /cache e /tmp regularmente no Linux, você pode seguir estes passos:

1. Acessar o crontab

Você precisa editar o crontab do usuário root ou do usuário que você deseja configurar a tarefa. Para isso, use o comando:

sudo crontab -e

2. Adicionar a tarefa cron

Adicione a seguinte linha ao arquivo do crontab para configurar a tarefa. Abaixo está um exemplo que limpa os diretórios /cache e /tmp todos os dias às 2 da manhã.

0 2 * * * rm -rf /var/cache/* /tmp/*

Certifique-se de que o usuário que está executando a tarefa cron tem permissão para excluir arquivos nos diretórios.

Explicação da linha cron

  • 0 2 * * *: Esta expressão cron especifica que a tarefa será executada todos os dias às 2:00 AM.
  • rm -rf /var/cache/* /tmp/*: Este comando remove recursivamente (-r) e força (-f) a exclusão de todos os arquivos e diretórios dentro de /var/cache/ e /tmp/.

3. Salvar e sair

Depois de adicionar a linha, salve o arquivo. No editor vim, você pode pressionar ESC, digitar :wq, e depois pressionar Enter. No nano, pressione Ctrl+O e Enter, seguido de Ctrl+X, para salvar e sair, respectivamente.

4. Verificar as tarefas cron

Você pode listar as tarefas cron configuradas para confirmar se a nova tarefa foi adicionada corretamente:

sudo crontab -l

Pronto! Isso deve configurar corretamente a tarefa cron para limpar os diretórios /cache e /tmp no horário especificado.