O meu método de backup rsync é seguro?

2

Eu fiz um script de backup muito simples usando rsync que faz o backup de algumas pastas em um pendrive. Isso é apenas para backups diários rápidos.

O comando é

rsync -av --delete

seguido por --exclude options e os caminhos.

Mas agora me ocorreu que isso possivelmente não é seguro:
O que acontece se meu disco rígido for corrompido e alguns arquivos não puderem ser mais lidos? rsync excluirá os arquivos no gravador se não conseguir ler a fonte?
Ou, mais genericamente: existe algum outro cenário que não seja "excluir os arquivos no meu disco rígido", o que levará à exclusão dos arquivos no pendrive?

    
por alain 11.11.2015 / 22:47

2 respostas

2

Em primeiro lugar, a opção --delete pode levar a alguns resultados indesejados se você não tiver conhecimento do plano de fundo. Por exemplo, se a fonte ficar vazia, todos os arquivos existentes no destino serão removidos ou se alguns arquivos forem removidos da fonte, esses arquivos também serão removidos do destino.

% bl0ck_qu0te%

Se rsync não conseguir ler a fonte, mostrará uma mensagem de permissão negada e não fará mais nada. Assim, seus arquivos existentes no destino estarão seguros.

% bl0ck_qu0te%

A menos que seu próprio USB seja corrompido, não, não há nenhum cenário em que (você não remove arquivos da origem, do disco rígido e) os arquivos existentes no USB serão excluídos pela opção rsync with --delete .

Teste:

% ls -1 source dest
dest:

source:
foo

% rsync -av --delete source/ dest
sending incremental file list
./
foo

sent 143 bytes  received 38 bytes  362.00 bytes/sec
total size is 16  speedup is 0.09

% ls -1 source dest              
dest:
foo

source:
foo

% chmod 000 source 

% rsync -av --delete source/ dest
sending incremental file list
rsync: change_dir "/source" failed: Permission denied (13)

sent 20 bytes  received 12 bytes  64.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]

% ls -1 source dest              
dest:
foo
ls: cannot open directory source: Permission denied
    
por heemayl 12.11.2015 / 00:13
1

Uma solução fácil para problemas de corrupção e exclusão é empregar um procedimento de backup adequado. Gire uma série de três (ou mais) thumbdrives USB, usando o mais antigo 'backup' como o plugado em stick quando você executar este comando uma vez por semana. Desta forma, se você pegar a corrupção antes de percorrer suas unidades USB, você pode recuperar a partir dele. Isso é conhecido como FIFO (First In, First Out).

Existem outros esquemas mais complicados, todos compatíveis com o seu método de backup. Uma cartilha sobre algumas delas está disponível na Wikipedia no seguinte link:

https://en.wikipedia.org/wiki/Backup_rotation_scheme
    
por Aren 11.11.2015 / 23:28