O mtime de um diretório pode ser mais antigo que o arquivo dentro?

1

Eu tenho essa pergunta muito boba e muito básica, mas achei melhor perguntar antes de começar a podar meu NAS.

Desejo excluir todos os diretórios nos quais todos os arquivos tenham mais de 30 dias.

Para arquivos que eu poderia ter feito:

find /path/to/files* -mtime +30 -exec rm {} \;

Mas isso levaria a pastas vazias em alguns lugares. Então, eu estava pensando em excluir todas as pastas com -mtime +30 , mas não tenho certeza se o mtime da pasta garante o limite de mtime para suas subpastas e arquivos.

Além disso, se o que eu acho correto, qual seria o comando para o mesmo?

    
por dragosrsupercool 22.11.2014 / 20:01

1 resposta

2

No tempo de modificação do diretório do linux mude se você:

  • adicionar um novo arquivo
  • remove um arquivo existente
  • ou renomeie um arquivo nele

Se você alterar o conteúdo do arquivo existente, isso não é refletido no diretório.

Por causa disso, sugiro usar esses comandos:

    find /path/to/folder -type f -mtime +30 -delete

este comando remove arquivos recursivamente com mais de 30 dias e preserva a pasta.

    find /path/to/folder -type d -empty -delete

isso remove o diretório vazio, se houver algum.

Fonte:

Data da última modificação do diretório

Como excluo todos os diretórios vazios em um diretório da linha de comando?

    
por Lety 23.11.2014 / 16:17