maneira mais eficiente e segura de fazer um backup diferencial completo com rsync

1

Eu estava pesquisando na net para encontrar uma maneira de fazer um backup completo da minha máquina Linux (não um servidor) e restaurar tudo a qualquer momento.

Comecei com o guia mais vinculado em todos os segmentos, link e achei que esse tipo de backup foi um backup incremental, depois de mais um dia de pesquisa que encontrei Qual é a diferença entre diferencial e backup incremental em termos de comando rsync? e outras discussões, mas não tenho certeza do que estou realmente fazendo.

Seguindo o guia e as postagens resolvi experimentar com uma única pasta (antes de fazer o backup de todo o sistema) chamada de source

rsync -av --delete /home/user/source /home/user/backup/backup0/

depois adicionei e removi alguns arquivos e fiz o backup mais três vezes

rsync -avH --delete --link-dest=/home/user/backup/backup0 /home/user/source /home/user/backup/backup1 

rsync -avH --delete --link-dest=/home/user/backup/backup1 /home/user/source /home/user/backup/backup2

rsync -avH --delete --link-dest=/home/user/backup/backup2 /home/user/source /home/user/backup/backup3

Eu pensei que com esse tipo de backup eu teria algo como:

backup0-->backup1-->backup2-->backup3

Então, se eu quisesse restaurar o conteúdo de "backup3", os # 1 e # 2 eram necessários, mas eu os excluía e depois restaurava o backup3, e tudo estava de volta ao lugar. Então eu corri

user@user:/backup$ du -sh *
450M    backup0
620K    backup1
624K    backup2
628K    backup3

Parece um backup diferencial, não um incremental, mas eu pensei que para ser diferencial eu teria que definir para cada backup --link-dest=/home/user/backup/backup0

Minha pergunta é: estou confundindo alguma coisa? Existe uma maneira melhor de fazer backup de um sistema completo usando o rsync?

P.S: o dispositivo de destino será uma unidade externa com o mesmo sistema de arquivos.

    
por NeverGetDown 26.09.2016 / 20:27

1 resposta

1

Com hardlinks, é possível armazenar várias cópias de um arquivo e ocupa apenas o espaço em disco de uma cópia. O que você está vendo é que du é cuidadoso para não contar duas vezes o espaço ocupado por vários links físicos para o mesmo arquivo.

Se você fosse executar:

du -sh backup3

você descobriria que o backup3 ocupa 450 milhões ou mais. Se você correr:

du -sh backup2 backup3

você descobriria que o backup2 ocupa cerca de 450M, enquanto o backup3 ocupa muito pouco. Isso ocorre porque du examinou primeiro o backup2 e contou seu espaço. Quando analisava o backup3, contava apenas o novo espaço em disco utilizado e não os hardlinks para arquivos que já haviam sido contados no backup2.

Cada backup é concluído e tem tudo que você precisa para fazer uma restauração completa. Como os arquivos são vinculados, no entanto, o espaço total em disco usado é muito menor.

Exemplo

Eu coloquei um arquivo de 1.2MB no diretório src/ . Vamos criar dois backups:

$ rsync -a src backup1
$ rsync -a --link-dest=../backup1 src backup2

Vamos ver o tamanho do backup2:

$ du -sh backup2
1.2M    backup2

backup2 tem 1,2 megabytes. Agora vamos ver o quão grande backup1 e backup2 são:

$ du -sh backup1 backup2
1.2M    backup1
8.0K    backup2

Agora, backup2 parece ser apenas 8k. Isso ocorre porque os links físicos não são contados duas vezes.

    
por 26.09.2016 / 20:50

Tags