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

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

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

Comecei com o guia com mais links em todos os tópicos,http://www.mikerubel.org/computers/rsync_snapshots/index.htmle pensei que esse tipo de backup fosse um backup incremental, depois de mais um dia de pesquisa descobri Qual é a diferença entre backup diferencial e incremental em termos de comando rsync?e outras discussões, mas não tenho certeza do que estou realmente fazendo.

Seguindo o guia e os posts resolvi tentar com uma única pasta (antes de fazer backup de todo o sistema) chamada source

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

então 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

Achei que com esse tipo de backup teria algo como:

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

Então se eu quisesse restaurar o conteúdo do "backup3" os #1 e #2 eram necessários, mas eu os apaguei e depois restaurei o backup3, e tudo voltou 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 incremental, mas pensei que para ser diferencial teria que configurar para cada backup --link-dest=/home/user/backup/backup0

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

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

Responder1

Com hardlinks, é possível armazenar várias cópias de um arquivo e ele ocupa apenas o espaço em disco de uma cópia. O que você está vendo dué o cuidado 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 cerca de 450 milhões. Se você executar:

du -sh backup2 backup3

você descobriria que o backup2 ocupa cerca de 450M, enquanto o backup3 ocupa muito pouco. Isso porque duexaminou primeiro o backup2 e contou seu espaço. Ao examinar o backup3, ele contou apenas o novo espaço em disco usado e não os hardlinks para arquivos que já haviam sido contados no backup2.

Cada backup é completo e tem tudo que você precisa para fazer uma restauração completa. Entretanto, como os arquivos têm links físicos, o espaço total em disco usado é muito menor.

Exemplo

Coloquei um arquivo de 1,2 MB no diretório src/. Vamos criar dois backups:

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

Vamos ver o quão grande é o backup2:

$ du -sh backup2
1.2M    backup2

backup2 tem 1,2 megabytes. Agora vamos ver o tamanho do backup1 e do backup2:

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

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

Responder2

Links físicos são a melhor maneira de economizar espaço em disco. Em vez de criar scripts com rsync, eu uso um wrapper que faz este trabalho:Backup de borboleta.

Este wrapper usa rsync puro e transforma o rsync em uma ferramenta real de backup/restauração (ele também possui modos de arquivamento/exportação).

Além disso, em suas opções, possui o --mode/-msinalizador que permite selecionar o modo de backup entreIncrementalouDiferencial.

O modo diferencial manterá o primeiro completo e então todos os backups seguintes serão conectados a ele, economizando muito espaço graças aos hard links.

Um exemplo:

$ bb backup --computer mypc --destination /backup --data User --type Unix
 --mode Differential

informação relacionada