Excluir arquivos de backup - mantenha apenas um por dia

0

Eu tenho este script para excluir arquivos de backup antigos com mais de 15 dias

"find $path -type f -mmin +".(60 * 24 * $expire_days)." -name '*.tar.*' -delete"

Depois disso, quero manter apenas um arquivo de backup por dia após 10 dias. Como fazer isso? O processo de backup é executado várias vezes ao dia e cria de 4 a 5 arquivos por dia

    
por clarkk 15.03.2018 / 09:11

1 resposta

0

Bem, você teria que escrever outro script, que,

  1. Enumera todos os arquivos e para cada arquivo é coletado a hora da última modificação do nome do caminho ( mtime ).
  2. De cada mtime , ele extrai a parte da data e ignora a parte do tempo.
  3. Em seguida, ele verifica o conjunto de dados resultante para identificar os grupos de inscrições com a mesma data; para cada grupo, você marca todas as entradas exceto (qualquer um) um.
  4. Percorra todas as entradas marcadas e exclua a arquivos correspondentes.

Como você pode ver, esta é uma tarefa de programação (razoavelmente simples). Eu provavelmente escolheria o Python ou o Tcl, já que o mero script de shell provavelmente não o cortará.

  • Se você tiver um problema concreto com o esquema que apresentei, considere postar em SE.stackexchange.com .
  • Se você tiver um problema concreto com um determinado algoritmo enquanto implementa sua solução sobre o uso de um idioma / tempo de execução específico, considere postar em SO .
por 15.03.2018 / 11:23