Exclui arquivos do rdiff-backup

8

Nós temos um sistema rodando que usa o rdiff-backup para seus backups. No entanto, a partição de backup está sem espaço, por isso precisaremos reexaminar a situação. Precisamos de uma solução permanente, mas até esse momento, basta liberar algum espaço na partição de backup.

Localizei vários arquivos que podemos remover *, mas me pergunto como devo fazer isso. O primeiro passo seria, claro, remover os arquivos do sistema de arquivos real. No entanto, em seguida, eu precisaria excluí-lo dos backups (é aí que precisamos do espaço), mas não tenho ideia de como fazer isso. Alguém tem uma ideia de como fazer isso?

* alguém - há muito ausente do escritório - que tinha jogos e fotos pessoais em seu diretório pessoal, várias cópias de discos rígidos virtuais

    
por Jasper 27.12.2009 / 13:09

3 respostas

11

O processo para lidar com exclusões quando você está sem espaço é descrito no FAQ não oficial em Como faço para remover arquivos do conjunto de backup . Repetindo aqui apenas por completo.

Esse método é muito perigoso e não deve ser usado , a menos que os arquivos que você deseja remover estejam causando a falta de espaço na sua unidade de backup e a única alternativa para removê-los seja a remoção incrementos inteiros.

IMPORTANTE: Corretamente falando, você deve fazer o passo 4 para todo incremento de mirror_metadata. O Rdiff-backup anterior ao 1.1.1 não se importa em ter entradas extras mirror_metadata para arquivos que são removidos do conjunto de backup dessa maneira, exceto na versão mais recente do mirror_metadata. No entanto, na versão 1.1.1, o tratamento de mirror_metadata alterado - rdiff-backup agora difere os arquivos de metadados - e não se sabe se ter entradas extras nesses arquivos de diferenças afetará as operações de restauração. (Nota técnica: os diffs mirror_metadata não estão usando o mesmo método que o arquivo diffs. Eles não são arquivos delft rdiff, mas arquivos de texto simples (e não, eles não são diffs de texto ordinário também) .Por isso, é seguro para mão -edit-los, então se você precisar você pode fazer o passo 4 sobre esses diffs.)

  1. Verifique o horário - certifique-se de que não esteja próximo do horário para uma execução programada do rdiff-backup. Verifique também se o rdiff-backup não está em execução.

  2. Entre em seu diretório de destino de espelho e exclua o arquivo ou diretório lá.

  3. Vá para rdiff-backup-data / incrementes no destino e exclua todos os rastreamentos do arquivo / diretório lá. Importante! Se você estiver removendo um diretório, certifique-se de encontrar e remover todos os arquivos * .dir para ele também! Se for um arquivo, certifique-se de encontrar e remover todos os arquivos * .miss (se houver algum). Tenha cuidado para não remover nada que não esteja relacionado à coisa que você está tentando remover ou pode perder a capacidade de restaurar outros arquivos.

  4. Passo importante! (e ATENÇÃO isso não foi testado com o rdiff-backup 1.1.1 ou posterior) Volte para o rdiff-backup-data e execute gunzip no arquivo de metadados espelho mais recente. Edite o arquivo mirror_metadata em um editor de texto bem comportado (ATENÇÃO! Não use pico ou nano ou qualquer outra coisa que possa fazer quebra de linha automaticamente!) E remova todas as referências ao arquivo ou diretório excluído. Tenha muito cuidado para não estragar o formato do arquivo.

por 27.12.2009 / 13:22
2

parece que alguém fez um script seguindo as etapas acima link

Eu não testei, mas escolha um modo de "proteção" excluindo todos os arquivos que já foram perdidos por 2 semanas, executando

rdiff-backup --remove-older-than 2W host.net::/remote-dir

mais um exemplo link

    
por 31.01.2017 / 11:04
0

O repositório oficial do github para o rdiff-backup agora tem um script para fazer isso:

link

O script mencionado nas outras respostas parece não estar mais disponível.

    
por 25.11.2018 / 11:07