Entradas posso excluir com segurança fazer backups

10

Estou planejando uma estratégia de backup com base no rsnapshot .

Eu quero fazer um backup completo do sistema, excluindo arquivos e diretórios, que seria inútil para a restauração ter um sistema em funcionamento novamente. Já excluí:

# System:
exclude /dev/*
exclude /proc/*
exclude /sys/*
exclude /tmp/*
exclude /run/*
exclude /mnt/*
exclude /media/*
exclude /lost+found

# Application:
exclude /*.pyc
exclude /*.pyo

Gostaria de saber quais outras entradas posso adicionar à lista de exclusão sem comprometer o sistema restaurado. Falando sobre um sistema Linux "genérico", você pode sugerir novas extensões glob, diretórios temporários, caches, etc. Posso excluir com segurança?

    
por Paolo 11.12.2013 / 19:55

3 respostas

11
Primeiro, você deve ler um pouco sobre a sintaxe include / exclude do rsync. Tenho a sensação de que o que você quer fazer é melhor usando ** globs do que * globs. ( ** se expande para qualquer número de entradas, enquanto * expande apenas para uma única entrada possivelmente correspondendo a várias entradas do diretório . Os detalhes estão em man rsync em Incluir / excluir regras de padrão .)

Dito isto, se você quiser restaurar o sistema a um estado operacional conhecido a partir do backup com o mínimo de complicações, deve ter cuidado ao excluir arquivos ou diretórios. Eu mesmo uso o rsnapshot e realmente adotei a abordagem oposta: inclua tudo, exceto alguns diretórios cuidadosamente selecionados.

Então, meu rsnapshot.conf na verdade afirma (com abas para fazer o analisador de arquivos de configuração do rsnapshot feliz):

interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./

e muito pouco mais. Sim, isso significa que eu posso copiar um pouco mais do que é estritamente necessário, mas ele garante que qualquer coisa não pretendida como ephermal é copiada. Devido ao rsnapshot usando o comportamento de hardlink para desduplicar do rsync, o único real custo para isso é durante a primeira corrida; depois disso, supondo que você tenha um local de destino de backup com tamanho razoável (em comparação com o tamanho total do conjunto de dados), é necessário muito pouco tempo extra ou espaço em disco. Eu excluo o conteúdo de / backup porque é onde eu montei o sistema de arquivos de destino de backup; não excluí-lo levaria à situação de copiar o backup em si mesmo. No entanto, para simplificar, se eu precisar restaurar no bare metal, quero manter o ponto de montagem!

No meu caso, também não posso usar razoavelmente one_fs 1 ; Eu corro o ZFS com sistemas de arquivos atualmente ~ 40. Listar todos esses explicitamente seria um pesadelo de manutenção e tornar o trabalho com sistemas de arquivos ZFS muito mais envolvido do que deveria ser.

Praticamente tudo o que você deseja excluir acima e além do acima dependerá da distribuição, portanto, é praticamente impossível fornecer uma resposta genérica. Dito isso, é provável que você encontre alguns candidatos em / var.

    
por 11.12.2013 / 22:31
4

A maior parte do que você está tentando fazer provavelmente pode ser realizada simplesmente usando a configuração one_fs . Defina os sistemas de arquivos que você deseja incluir nos seus backups e, em seguida, use essa configuração para ignorar o restante ( proc , sys , dev , etc.). Eu incluiria /lost+found porque esse diretório deve estar sempre vazio, a menos que você tenha feito backup de um sistema de arquivos corrompido; nesse caso, você provavelmente desejará um backup de qualquer coisa que fsck tenha recuperado. Além disso, .pyc e .pyo não devem estar realmente no diretório raiz, portanto, também removerei essas linhas. /tmp e /var/tmp são os únicos caminhos restantes em um sistema "genérico" que contêm dados que podem ser excluídos com segurança dos backups. Então talvez tente algo como:

one_fs 1

exclude /tmp/
exclude /var/tmp/
    
por 11.12.2013 / 20:24
1

Acho melhor ter uma lista de pacotes, o conteúdo de / etc, / home e quaisquer dados de usuário / sistema de / var e em outro lugar. Geralmente, é mais rápido reinstalar os pacotes e copiar a configuração de trabalho.

    
por 12.12.2013 / 01:13