A opção incremental de tarts não adiciona novos arquivos

1

Em um backup incremental, tar parece não conseguir adicionar novos arquivos:

$ tar -cvzf test.tar.gz -g test.snar a.txt
a.txt
$ tar -cvzf test2.tar.gz -g test.snar a.txt b.txt

O segundo comando não retorna nada e o arquivo está vazio. No entanto, funciona se eu especificar o diretório em vez dos arquivos. Algo que eu sinto falta aqui?

    
por alex_reader 07.02.2014 / 12:14

2 respostas

1

O arquivo de instantâneo contém a.txt no primeiro comando tar. No segundo tar, o instantâneo não sabe sobre b.txt . a.txt não foi alterado, portanto, o arquivamento incremental está vazio.

Se o arquivo incremental estiver no nível do diretório, ele detectará a alteração (b.txt) porque o b.txt existe dentro da hierarquia do diretório.

Se o arquivo de instantâneo existir, ele determinará quais arquivos serão modificados.

Veja backups incrementais de referência do GNU Tar

The option ‘--listed-incremental’ instructs tar to operate on an incremental archive with additional metadata stored in a standalone file, called a snapshot file. The purpose of this file is to help determine which files have been changed, added or deleted since the last backup, so that the next incremental backup will contain only modified files. The name of the snapshot file is given as an argument to the option:

    
por 07.02.2014 / 13:02
1

Você já olhou para a opção "-incremento incremental" para tar? Ele permitirá que você adicione incrementalmente pastas específicas e ajude a garantir que você apenas compactará os arquivos alterados desde a última vez que eles foram adicionados ao tar com a opção --list-incremental.

Uma opção mais genérica é simplesmente acrescentar novos arquivos usando -a ou a opção append, que coloca o arquivo no final do arquivo.

Se esta é uma situação de backup, sugiro que você veja o rsync como uma opção mais rica em recursos, mas tudo depende do que você está tentando fazer com o procedimento de backup.

    
por 07.02.2014 / 13:01

Tags