Se você fosse fazer um backup incremental , seria necessário fornecer ao 7-zip a lista dos arquivos modificados (com -i@fileList
), e seria necessário elaborar essa lista de alguma forma. No espelho archive.org da pergunta removida Backup incremantal offline via thumbdrive, você pode encontrar uma linha de comando do Unix usando assinaturas md5 para criar a fileList.
A operação de atualização com 7 zip permite criar um arquivo secundário com as diferenças (incluindo arquivos excluídos) que ocorrem desde o arquivo base / primário. Isso é chamado corretamente de backup diferencial (conforme indicado na própria pergunta).
Encontrei um excelente artigo sobre esse tópico no WPCTips "Backups diferenciais com 7-zip" (arquivado) . Eles recomendam o uso de um programa GUI (Toucan) ou usam esta receita para a linha de comando:
7z u {base archive.7z} -u- -"up0q3r2x2y2z0w2!{differential.7z}" {folder to archive}
Isso é um pouco diferente do 7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}
proposto por ArtemGr:
-u-
informa ao arquivo principal que não deve ser modificado
"-up0q3r2x2y2z0w2!{differential.7z}"
especifica o arquivo diferencial de destino e que ação deve ser tomada para cada arquivo para cada condição / estado: adicione arquivos novos ou modificados no sistema de arquivos, remova arquivos que estão apenas no arquivo 7zip e ignore o restante.
Observe que o "!" O caractere será interceptado, a bash
menos que seja citado.
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.