Restic: Excluir padrões que não estão sendo aplicados

Criado em 20 jun. 2017  ·  4Comentários  ·  Fonte: restic/restic

Resultado de restic version

restic 0.6.1 (v0.6.1-126-gb0fb95df)
compilado com go1.8.3 em darwin / amd64

Como você começou o Restic exatamente? (Inclua a linha de comando completa)

restic backup --exclude-file ~/exclude.txt ~

Qual backend / servidor / serviço você usou?

sftp para LAN

Comportamento esperado

Ignore os arquivos que correspondem ao padrão em exclude.txt

Comportamento real

Os arquivos foram incluídos, a menos que eu tenha afrouxado drasticamente o padrão ao ponto em que o padrão é muito ambíguo.

Passos para reproduzir o comportamento

Usando um arquivo de exclusão como este:

.[^.]*
/matt/Applications
/matt/Dropbox
/matt/Downloads
/matt/VirtualBox VMs
*.vmdk

Meu objetivo é ignorar dotfiles e algumas pastas específicas em meu diretório $ HOME (denominado matt ) (mas nem todas as pastas denominadas "Aplicativos", por exemplo). Ah, e todos os arquivos .vmdk (podem ser enormes!)

Quando relaxei os padrões para isto:

.[^.]*
Applications
Dropbox
Downloads
VirtualBox VMs
*.vmdk

funcionou (o que significa que pulou as pastas), mas isso é muito ambíguo, pois não quero pular todas as pastas chamadas Downloads, por exemplo.

Você tem alguma ideia do que pode ter causado isso?

Provavelmente eu ainda não estou entendendo os padrões de exclusão corretamente. : smile: Eu li # 1005 e acho que estou confuso se os caminhos absolutos são necessários para --exclude ou se os caminhos repo-absolutos são necessários como com --include.

documentation bug

Comentários muito úteis

Suspiro, sim, você está absolutamente certo. Os padrões de exclusão são absolutos em relação ao que você faz backup:
O padrão /home/matt/*.go corresponde a todos os arquivos Go em sua casa quando você executa restic backup /home/matt . Devido à forma como o arquivador funciona (consulte # 549, má decisão de design que precisamos corrigir), o prefixo /home/ é eliminado e o componente do caminho de nível superior no instantâneo é /matt . Portanto, para restaurar, você precisa usar um padrão de inclusão de /matt/*.go para corresponder aos mesmos arquivos. Eu sei que é ruim, vou corrigi-lo eventualmente :)

Portanto, esta é a lista de arquivos de exclusão corrigida para seu caso de uso:

.[^.]*
/home/matt/Applications
/home/matt/Dropbox
/home/matt/Downloads
/home/matt/VirtualBox VMs
*.vmdk

Todos 4 comentários

Atualização: Ok, substituir /matt/ por $HOME/ pareceu funcionar, embora eu ache a inconsistência entre --exclude e --include caminhos absolutos um pouco estranha / surpreendente.

Normalmente $HOME/blabla é /home/matt/blabla ou você alterou algo em seu sistema?

Suspiro, sim, você está absolutamente certo. Os padrões de exclusão são absolutos em relação ao que você faz backup:
O padrão /home/matt/*.go corresponde a todos os arquivos Go em sua casa quando você executa restic backup /home/matt . Devido à forma como o arquivador funciona (consulte # 549, má decisão de design que precisamos corrigir), o prefixo /home/ é eliminado e o componente do caminho de nível superior no instantâneo é /matt . Portanto, para restaurar, você precisa usar um padrão de inclusão de /matt/*.go para corresponder aos mesmos arquivos. Eu sei que é ruim, vou corrigi-lo eventualmente :)

Portanto, esta é a lista de arquivos de exclusão corrigida para seu caso de uso:

.[^.]*
/home/matt/Applications
/home/matt/Dropbox
/home/matt/Downloads
/home/matt/VirtualBox VMs
*.vmdk

@ibib No meu Mac, meu diretório inicial é /Users/matt , mas como --include usa um caminho absoluto de repositório (como restic ls shows), imaginei que o caminho absoluto adequado seria /matt/... .

@ fd0 Ah! Isso faz mais sentido, obrigado por explicar. Portanto, --exclude quando usado com restic backup é absoluto para o sistema de arquivos, e --include (usado com restic restore ) é absoluto para o repositório. Em outras palavras, os padrões são absolutos para a origem dos arquivos.

Muito obrigado pela explicação. Agora eu entendo melhor por que 549 é um problema que você deseja corrigir. :sorriso:

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

TheLastProject picture TheLastProject  ·  3Comentários

fbartels picture fbartels  ·  3Comentários

christian-vent picture christian-vent  ·  3Comentários

e2b picture e2b  ·  4Comentários

fd0 picture fd0  ·  3Comentários