Estou tentando configurar um sistema de backup para um servidor que consigo melhorar no sistema antigo. eu estou escolhendozpaqporque forneceu uma boa compactação com o sistema antigo lrzip -z
e porque a página vinculada afirma oferecer compactação incremental na qual apenas os dados alterados são copiados em cada nova instância de backup.
Atualmente estou usando o seguinte script para fazer o backup (todos os dados são armazenados no server
diretório):
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 verifica recursivamente todo o sistema de diretórios. Como posso fazer com que ele verifique todo o sistema de diretórios? Quando removo a a
opção ou faço backup do server
diretório pai, o problema ainda ocorre.
Opágina de manualque parece ter sido escrito pelo autor das ferramentas diz:
Se um nome for um diretório, ele incluirá recursivamente todos os arquivos e subdiretórios contidos nele.
Ubuntupágina de manualnão faz menção à 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 daquele que vinculei no início desta pergunta, explique onde um pacote Ubuntu para o zpaq vinculado pode ser encontrado.
Responder1
Parece que você deseja uma solução que funcione zpaq
da maneira que você espera. Mas, se você estiver usando bash
, esta solução alternativa deverá fornecer o resultado desejado. Tipo shopt -s globstar
. Em seguida, execute o comando que você está usando, com uma pequena alteração:
zpaq pa ../backup.zpaq **
Com globstar
o modo em vigor,
**
expande para uma lista de entradas no diretório atualárvore; ou seja, o diretório atual e abaixo. Tipo *
, ele vai ignorar.
arquivos (ocultos). Se você quiser incluí-los, faça você shopt -s dotglob
também. (Você pode combiná-los em um 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 shopt
configurações. Você pode fazer isso com shopt -u globstar dotglob
.
Nota: Se você tiver muitos arquivos, isso poderá falhar porque há um limite para o comprimento de uma linha de comando — mas ela é muito grande.
Responder2
Eu tive o mesmo problema no Ubuntu 14.04.3. A solução é não usar o pacote do repositório, mas sim instalar a fonte mais recente dohttp://mattmahoney.net/dc/zpaq.html
Depois de baixar o pacote ele estará no formato .zip e precisará ser descompactado usando unzip. A partir daí basta fazer:
make
sudo make install
Agora fazendo
zpaq a *archive* */dir*
incluirá o diretório e todos os seus subdiretórios e arquivos.