Excluir backups antigos da mesma forma que o Apple Time Machine faz

1

O Time Machine salva backups por hora nas últimas 24 horas, backups diários do mês anterior e backups semanais de tudo que é mais antigo que um mês, até que o volume fique sem espaço. Nesse momento, o Time Machine exclui o backup semanal mais antigo ( Time Machine ).

Estou no ponto em que já tenho o script bash (rsync), que faz backups a cada hora. Os backups são pastas nomeadas como "2015-01-01 08", onde "08" é a hora.

Em algum momento, pastas com mais de 24 horas precisam ser excluídas. Então estou procurando por essa mágica. Eu acho que será meio rm -R algum_pattern. Como seria um tal padrão?

    
por oqrxke 02.02.2015 / 01:36

1 resposta

1

Você pode usar um comando de 1 linha se estiver executando o Linux (YMMV no OS X):

find /path/to/your/backups/ -type d -mtime +1 -exec rm -r "{}" \;

Observe que isso pressupõe que seus diretórios não sejam modificados após a criação.

Você pode omitir a parte -exec rm -r "{}" \; se desejar apenas nomes de diretório para testar o comando.

    
por 02.02.2015 / 01:58