Como excluir arquivos com mais de 30 dias no Linux

Como excluir arquivos com mais de 30 dias no Linux

Limpar regularmente arquivos antigos não utilizados do seu servidor é a melhor prática. Por exemplo, se estivermos executando um backup diário/horário de arquivos ou bancos de dados no servidor, haverá muito lixo criado no servidor. Então limpe regularmente. Para fazer isso, você pode encontrar arquivos mais antigos do diretório de backup e limpá -los.

Este artigo descreve você sobre como encontrar e excluir arquivos com mais de 30 dias. Aqui 30 dias mais velho significa que a última data de modificação é antes de 30 dias.

1. Excluir arquivos com mais de 30 dias

Usando o comando find, você pode pesquisar e excluir todos os arquivos que foram modificados mais de x dias. Além disso, se necessário, você pode excluí -los com um único comando.

Primeiro de tudo, liste todos os arquivos com mais de 30 dias no diretório /opt /backup.

FECT /OPT /BOTHUP -TYPE F -MTIME +30  

Verifique a lista de arquivos e verifique se nenhum arquivo útil está listado no comando acima. Uma vez confirmado, você está pronto para excluir esses arquivos com o seguinte comando.

FECT /OPT /BOTHUP -TYPE F -MTIME +30 -DELETE  

2. Excluir arquivos com extensão específica

Você também pode especificar mais filtros para localizar comandos em vez de excluir todos os arquivos. Por exemplo, você só pode excluir arquivos com o “.Log ”Extensão e modificado antes de 30 dias.

Para o lado seguro, primeiro, faça uma corrida a seco e listar arquivos que correspondem aos critérios.

encontre /var /log -name "*.log "-Type f -mtime +30  

Depois que a lista for verificada, exclua esses arquivos executando o seguinte comando:

encontre /var /log -name "*.log "-Type f -mtime +30 -Delete  

O comando acima excluirá apenas arquivos com um .registro extensão e com a última data de modificação com mais de 30 dias.

3. Excluir diretório antigo recursivamente

O -excluir a opção pode falhar se o diretório não estiver vazio. Nesse caso, usaremos o Linux comando rm com encontro para realizar a exclusão.

Pesquisando todos os diretórios em /var/log modificado antes de 90 dias usando o comando abaixo.

encontre /var /log -type d -mtime +90  

Aqui podemos executar o comando rm usando -exec opção de linha de comando. Encontre a saída de comando será enviada para rm comando como entrada.

encontre /var /log -Type d -mtime +30 -exec rm -rf  \;  
AVISO: Antes de remover o diretório, verifique se nenhum diretório do usuário está sendo excluído. Às vezes, as datas de modificação do diretório pai podem ser mais antigas que os diretórios filhos. Nesse caso, o delete recursivo também pode remover o diretório filho.

Conclusão

Você aprendeu a encontrar e excluir arquivos na linha de comando Linux que foram modificados mais do que um número especificado de dias atrás. Isso ajudará você a limpar seu sistema de arquivos indesejados.