Diretório de arquivos usando o Zpaq

1

Estou tentando configurar um sistema de backup para um servidor que consiga melhorar no sistema antigo. Estou escolhendo o zpaq porque ele forneceu uma boa compactação com o sistema antigo usando lrzip -z e porque a página vinculada afirma oferecer incremental compactação na qual apenas dados alterados são armazenados em backup em cada nova instância de backup.

No momento, estou usando o seguinte script para fazer o backup (todos os dados são armazenados no diretório server ):

cd server
zpaq pa ../backup.zpaq *

Este script produz um arquivo que inclui todos os arquivos que estão diretamente abaixo do diretório do servidor, mas não examina recursivamente todo o sistema de diretórios. Como posso fazê-lo escanear todo o sistema de diretórios? Quando eu removo a opção a ou faço backup do diretório server de seu pai, o problema ainda ocorre.

A página de manual que parece ter sido escrita pelo autor das ferramentas diz:

If a name is a directory, then it recursively includes all files and subdirectories within.

A página de manual do Ubuntu não menciona recursão. Eu instalei a ferramenta do repositório do Ubuntu usando apt-get install zpaq . Se o zpaq do Ubuntu for de alguma forma diferente do que eu criei no início desta questão, por favor explique onde um pacote Ubuntu para o zpaq pode ser encontrado.

    
por john01dav 06.12.2015 / 16:32

2 respostas

1

Parece que você quer uma solução que obtém zpaq para funcionar da maneira esperada. Mas, se você estiver usando bash , Essa solução alternativa deve obter o resultado desejado. Digite shopt -s globstar . Então, faça o comando que você está usando, com uma pequena alteração:

zpaq pa ../backup.zpaq **

Com o modo globstar em vigor, ** expande para uma lista de entradas no diretório atual tree ; isto é, o diretório atual e abaixo. Como * , ele ignorará os arquivos . (ocultos). Se você quiser incluí-los, faça shopt -s dotglob também. (Você pode combiná-los em um único comando: shopt -s globstar dotglob .)

É mais conveniente fazer isso em um script. Mas, se você fizer isso em seu shell principal (interativo), você pode querer desfazer as configurações de shopt . Você pode fazer isso com shopt -u globstar dotglob .

Nota: Se você tiver muitos arquivos, isso pode falhar porque existe um limite para o comprimento de uma linha de comando - mas é bem grande.

    
por 28.10.2016 / 05:09
0

Eu tive o mesmo problema no Ubuntu 14.04.3. A solução é não usar o pacote do repositório, mas instalar a fonte mais recente do link

Depois de baixar o pacote, ele está no formato .zip e precisará ser descompactado usando-se o unzip. De lá apenas faça:

make
sudo make install

Agora fazendo

zpaq a *archive* */dir*

incluirá o diretório e todos os seus subdiretórios e arquivos.

    
por 27.10.2016 / 23:51