Backup incrementale con 7zip

Ho googled e cercato, ma non riesco a trovare il command che utilizza l'utilità della row di command 7zip per eseguire backup incrementali. Così qualcuno può condividere il command?

Grazie

btw ho trovato questo link: http://wmug.co.uk/wmug/b/sean/archive/2009/03/20/powershell-amp-7zip-incremental-backup-solution.aspx . Ma sembra essere per i backup differenziali, anche se dice incrementale.

Dovrebbe essere semplice, usa questo per creare e aggiornare in modo incrementale l'archivio:

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

Questa pagina offre un riferimento per le opzioni di aggiornamento.

Sono tradotte come segue:
p0 – Se "il file esiste in archivio, ma non corrisponde a un carattere jolly", rimuove il file dall'archivio.
q3 – Se "File esiste in archivio, ma non esiste sul disco", rimuove il file dall'archivio e rimuoverlo dal filesystem dopo l'estrazione .
r2 – Se "File non esiste in archivio, ma esiste sul disco", quindi compila il file nell'archivio.
x2 – Se "File in archivio è più recente del file sul disco", compilare il file precedente nell'archivio.
y2 – Se "File in archivio è più vecchio del file sul disco", quindi compilare il file più recente nell'archivio.
z1 – Se "File in archivio è uguale al file sul disco", riutilizzare la versione compressa del file.
w2 – Se la dimensione del file è diversa, compilare il file modificato nell'archivio.

Se si desidera eseguire un backup incrementale , è necessario fornire 7 zip con l'elenco dei file modificati (con [email protected] ) e dovresti elaborare in qualche modo tale elenco. Al sito https://superuser.com/a/862394/476076 è ansible trovare una row di command unix / cygwin che utilizza firme md5 per creare il fileList.

L'operazione di aggiornamento a 7 zip consente di creare un archivio secondario con le differenze (inclusi i file eliminati) avvenuti dall'archivio base / primario. Quello è correttamente denominato un backup differenziale (come indicato nella domanda stessa).

Ho trovato un ottimo articolo su questo argomento a WPCTips "Differential Backups with 7-zip" . Si consiglia di utilizzare un programma GUI (Toucan) o utilizzare questa ricetta per la row di command:

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

Questo è un po 'diverso dal 7zr u -up0q3r2x2y2z1w2 {archive}.7z {path} proposto da ArtemGr:

  • -u- dice che l'archivio principale non deve essere modificato
  • -up0q3r2x2y2z0w2!{differential.7z} specifica l'archivio differenziale di destinazione e quali azioni da fare per each file per each condizione / stato: aggiungere file nuovi o modificati nel filesystem, rimuovere i file che sono solo nell'archivio 7zip ignorare il rest.

Solo nel caso in cui sei curioso delle specifiche di quel p0q3r2x2y2z0w2 criptico

 <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. 

è ansible effettuare facilmente il backup incrementale modificando la direzione nel tempo. Tieni sempre l'ultimo backup come una copia completa e tieni i file differenziati nel passato.

# creare la differenza passata nel passato
7z u {base archive.7z} {cartella da archiviare} -mx = 9 -u -up1q1r3x1y1z0w1! {Decrement.7z}

# aggiornare l'Archivio ai file più recenti
7z u {base archive.7z} {cartella per archiviare} -mx = 9 -up0q0x2

L'Archivio di base contiene sempre la versione più recente e, applicando gradualmente i "decrementi", è ansible ricreare versioni precedenti. Con un po 'di script è ansible applicare la numerazione giusta ai file decrementali.