O backup de um sistema de arquivos linux pode ser feito copiando somente a estrutura de arquivos?

6

Isso pode ser considerado mais uma questão acadêmica, mas aqui vai. Voltando ao Linux depois de alguns anos, eu instalei o Ubuntu 15.04 Desktop em um pequeno PC.

Olhando em volta do sistema de arquivos, vejo "arquivos reais", como programas em /bin e /usr/bin , mas também lembro que o Linux trata o dispositivo IO por meio do sistema de arquivos. Portanto, há um diretório /dev com arquivos aparentes dentro dele. Eu vi "arquivos" em /proc .

Se eu quiser preservar meu sistema de arquivos (no contexto da ressurretura do Linux após a morte de um disco, por exemplo) eu poderia facilmente tar o conteúdo dos diretórios /bin e /usr/bin e recuperar esses tipos de arquivos.

Quais arquivos são gravados no momento em que o computador inicializa e eles podem ser ignorados com segurança como parte de um backup? Além disso, e quanto a permissões especiais ou hard links e assim por diante?

    
por Andy Fusniak 29.04.2015 / 11:15

2 respostas

2

Se a sua pergunta é realmente sobre a restauração de um sistema após uma falha, você pode esquecer com segurança o tar : ele tem um limite para o comprimento máximo dos caminhos que são codificados nas especificações de formato e não manipula hardlinks. Por motivos semelhantes, você não deve tentar fazer backups com cp , pax , cpio ou rsync . Uma solução razoável é usar dump / restore ou, melhor ainda, usar um pacote dedicado para backups. Mas isso só resolve o problema de salvar seus arquivos. Ele não aborda problemas relacionados a diferenças de tamanho entre discos novos e antigos nem torna seus discos inicializáveis.

    
por 29.04.2015 / 11:33
0

Um método muito comum e simples de fazer o backup de uma máquina Linux é usar rsync . E para sua pergunta, sim, você pode fazer backup da árvore do sistema de arquivos, mas os chamados pseudo-sistemas de arquivos como / dev ou / proc geralmente são excluídos da lista de arquivos de tal backup.

Veja o seguinte comando:

 $ rsync -aHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/dir

Ele executa rsync no modo de arquivamento -a (equals -rlptgoD (no -H, -A, -X)), exibe a saída detalhada -v e preserva os links físicos -H . Além disso, há uma lista de diretórios que são excluídos do backup.

    
por 29.04.2015 / 12:00