Backup incremental com 7zip

14

Eu pesquisei e pesquisei, mas não consigo encontrar o comando que o utilitário de linha de comando 7zip usa para fazer backups incrementais. Então alguém pode por favor compartilhar o comando?

Obrigado

btw encontrei este link: link . Mas parece ser para backups diferenciais, mesmo que seja incremental.

    
por gyaani_guy 31.01.2013 / 07:15

3 respostas

8

Deve ser simples, use isso para criar e atualizar incrementalmente o arquivo:

7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}

Esta página oferece uma referência para as opções de atualização.

Eles são traduzidos da seguinte forma:
p0 - Se "Arquivo existe no arquivo, mas não corresponde ao caractere curinga", remova o arquivo do arquivo.
q3 - Se "Arquivo existir em arquivo, mas não existe no disco ", em seguida, remova o arquivo do arquivo e remova-o do sistema de arquivos após a extração .
r2 - Se" Arquivo não existir no arquivo, mas existe no disco ", então empacote o arquivo no arquivo.
x2 - Se" Arquivo no arquivo for mais recente que o arquivo no disco ", empacote o arquivo mais antigo no arquivo.
y2 - Se "O arquivo arquivado é mais antigo que o arquivo no disco" e empacota o arquivo mais novo no arquivo.
z1 - Se "Arquivo no arquivo é igual ao arquivo no disco", reutilize a versão compactada do arquivo.
w2 - Se o tamanho do arquivo for diferente, empacote o arquivo modificado no arquivo.

    
por 04.05.2013 / 22:22
4

Se você quiser fazer um backup incremental , precisará fornecer o 7-zip com a lista dos arquivos modificado (com -i@fileList ), e você precisaria elaborar essa lista de alguma forma. No link você pode encontrar alguma linha de comando unix / cygwin que usaria as assinaturas md5 para criar o fileList.

A operação de atualização do 7-zip permite criar um arquivo secundário com as diferenças (incluindo arquivos excluídos) ocorridas desde o arquivo base / primário. Isso é apropriadamente chamado de backup diferencial (como afirmado na própria pergunta).

Encontrei um excelente artigo sobre esse assunto em WPCTips "Backups Diferenciais com 7-zip" (arquivados) . Eles recomendam usar um programa GUI (Toucan) ou usar essa receita para a linha de comando:

7z u {base archive.7z} {folder to archive} -u- -up0q3r2x2y2z0w2!{differential.7z}

Isso é um pouco diferente do 7zr u -up0q3r2x2y2z1w2 {archive}.7z {path} proposto pela ArtemGr:

  • -u- informa que o arquivo principal não deve ser modificado
  • -up0q3r2x2y2z0w2!{differential.7z} especifica o arquivo diferencial de destino, e que ação fazer para cada arquivo para cada condição / estado: adicionar arquivos novos ou modificados no sistema de arquivos, remover arquivos que estão apenas no arquivo 7zip, ignorar o resto.

Apenas no caso de você estar curioso sobre as especificidades desse enigmático p0q3r2x2y2z0w2

<state> | State condition
p | File exists in archive, but is not matched with wildcard.   Exists, but is   not matched 
q | File exists in archive, but doesn't exist on disk.
r | File doesn't exist in archive, but exists on disk.
x | File in archive is newer than the file on disk.
y | File in archive is older than the file on disk.
z | File in archive is same as the file on disk
w | Can not be detected what file is newer (times are the same, sizes are different)

<action> | Description 
0 | Ignore file (don't create item in new archive for this file) 
1 | Copy file (copy from old archive to new) 
2 | Compress (compress file from disk to new archive) 
3 | Create Anti-item (item that will delete file or directory during extracting). This feature is supported only in 7z format. 
    
por 31.07.2015 / 16:54
2

você pode fazer backup incremental com facilidade, alterando a direção no tempo. Ou seja você sempre mantém o backup mais recente como uma cópia completa e mantém os arquivos diferenciais no passado.

# crie o passo da diferença para o passado. 7z u {base archive.7z} {pasta para arquivar} -mx = 9 -u -up1q1r3x1y1z0w1! {Decrement.7z}

# atualize o arquivo para os arquivos mais recentes
7z u {base archive.7z} {pasta para arquivar} -mx = 9 -up0q0x2

O arquivo base sempre contém a versão mais recente e, aplicando os "decrementos" passo a passo, você pode recriar Versões mais antigas. Com um pouco de script, você pode aplicar a numeração correta aos arquivos decrementais.

    
por 06.09.2016 / 14:14