Como apagar arquivos dependendo do seu uso?

3

Como posso usar um script para excluir arquivos de acordo com o quanto eu os uso?

Há uma grande quantidade de arquivos em um diretório. Eu gostaria de preservar esses arquivos que eu uso (aberto) com muita freqüência. Eu gostaria de deletar aqueles que eu não usei em certo período.

    
por user253284 28.02.2014 / 14:38

2 respostas

2

Você desejará usar a propriedade timestamp nos arquivos em questão. Eu recomendo escrever um script simples no bash algo assim:

#!/bin/bash
for i in 'ls -1 *.log'
  do
    myfile='ls -l $i | awk '{print ,,}''
    if [[ ${myfile% *} = 'Jan 1' ]];
    then
      echo "Removing ${myfile##* }"
      #rm ${myfile##* }
    else
      echo "Failed to remove file ${myfile##* }"
    fi
done

Experimente. Se este script fornecer o que você está procurando, basta remover o caractere "#" na frente do comando RM para executar a operação de exclusão.

    
por Mat Nadrofsky 28.02.2014 / 14:49
1

Você pode usar o seguinte comando para excluir os arquivos que foram modificados pela última vez há 7 dias ou mais.

find <directory path> -ctime +7 -delete
    
por Prathu Baronia 28.08.2018 / 13:11