rsync para backup, mas não quer apagar (não apagar) a unidade

1

Não sei como fazer essa pergunta sem explicar. Digamos que eu use rsync para fazer backup da unidade-a para a unidade-b. O drive-a falha e todos os dados são perdidos quando o rsync foi desligado, viu que o drive-a havia sido apagado e apagou o drive-b.

Estou tentando escrever um script rsync para que isso não aconteça. isso realmente aconteceu com alguém que eu conheço, então é possível.

    
por Stacy Proficy 20.04.2015 / 18:05

3 respostas

0

Você pode configurar o rsync para não excluir arquivos estranhos. Por padrão, isso não acontece. Então, se todos os arquivos saírem do drive-a, eles devem ficar bem.

link

    
por 20.04.2015 / 18:13
0

Você pode tentar usar o rsnapshot . Isso usa o rsync para criar um backup baseado em hardlinks. No servidor, vários backups podem ser acessados sem desperdício de espaço. Portanto, quando a unidade A for apagada, somente o backup mais recente terá os dados "apagados", mas os snapshots antigos ainda manterão os dados.

Outra coisa a fazer é usar as opções --backup e --backup-dir diretamente com rsync :

-b, --backup

With this option, preexisting destination files are renamed as each file is transferred or deleted. You can control where the backup file goes and what (if any) suffix gets appended using the --backup-dir and --suffix options.

Note that if you don't specify --backup-dir, (1) the --omit-dir-times option will be implied, and (2) if --delete is also in effect (without --delete-excluded), rsync will add a lqprotectrq filter-rule for the backup suffix to the end of all your existing excludes (e.g. -f "P ~"). This will prevent previously backed-up files from being deleted. Note that if you are supplying your own filter rules, you may need to manually insert your own exclude/protect rule somewhere higher up in the list so that it has a high enough priority to be effective (e.g., if your rules specify a trailing inclusion/exclusion of oqcq, the auto-added rule would never be reached).

--backup-dir=DIR

In combination with the --backup option, this tells rsync to store all backups in the specified directory on the receiving side. This can be used for incremental backups. You can additionally specify a backup suffix using the --suffix option (otherwise the files backed up in the specified directory will keep their original filenames).

    
por 20.04.2015 / 18:29
0

No cenário que você descreveu (unidade de origem com falha), o rsync não excluirá , porque:

  1. por padrão, rsync não exclui nada até que você passe a opção "--delete"
  2. mesmo passando a opção "--delete", o rsync não removerá um arquivo de destino se o disco de origem não puder ser acessado . Na página do manual:

If the sending side detects any I/O errors, then the deletion of any files at the destination will be automatically disabled. This is to prevent temporary filesystem failures (such as NFS errors) on the sending side causing a massive deletion of files on the destination. You can override this with the --ignore-errors option.

O único meio de acabar com um alvo limpo depois da falha da fonte é:

  • mangle com opções avançadas de rsync (consulte man page)
  • tem uma falha na fonte que apresenta um sistema de arquivos aparentemente consistente, mas vazio (o que é uma possibilidade muito rara)

Enfim, eu sigo a sugestão de usar o rsnapshot + hard links. Eu uso esta configuração para fins de backup e é muito conveniente.

    
por 20.04.2015 / 18:47

Tags