Como remover apenas arquivos criados antes de uma data e hora específicas

1

l gostaria de remover dos meus arquivos de diretório que foram criados antes de 29/04/2018 às 16:00.

Obrigado

    
por vincet 29.04.2018 / 19:56

1 resposta

2

O Linux não mantém registro de tempo de criação, existem apenas 3 registros de tempo para arquivos: último acesso, última modificação de conteúdo e última modificação do inode. Então você fica com 3 opções:

Para excluir todos os arquivos modificados antes de 29/04/2018 às 16h:

find . -type f ! -newermt '04/29/2018 16:00:00' -exec rm -f {} \;

Para excluir todos os arquivos acessados antes de 29/04/2018 às 16h:

find . -type f ! -newerat '04/29/2018 16:00:00' -exec rm -f {} \;

Para excluir todos os arquivos cuja permissão foi alterada antes de 29/04/2018 às 16h:

find . -type f ! -newerct '04/29/2018 16:00:00' -exec rm -f {} \;

Você provavelmente não desejaria executar os comandos acima como root e lembre-se de backup de arquivos importantes.

Nota importante!

Você deve tratar os valores de data com cautela. Embora eu tenha feito um formato completo no meu disco rígido no mês passado, tenho alguns arquivos no meu diretório pessoal desde 2014!

Fontes: [1] [2] [3]

    
por Eskander Bejaoui 29.04.2018 / 20:55