Qualcuno sa perché rsync dovrebbe continuare a inviare i file più e più volte?


14

Sto cercando di utilizzare rsync per eseguire il backup di alcuni file, circa mezzo TB. Ora è uno stato in cui continua a inviare gli stessi file ogni volta che viene eseguito.

per esempio:

rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt

Verifico quindi che quei file vengano copiati ... quindi alla successiva esecuzione fa la stessa cosa

rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt

qualche idea sul perché si blocchi su questi file? Ho provato a cancellare l'intera directory dest e ricominciare da capo, ma senza fortuna.

Grazie,


1
Hai fatto una differenza sui file e verificato tutte le informazioni nel loro elenco ls -l? In linea di principio, potrebbero essere modificati in entrambi i casi senza che tu ne sia consapevole, e forse rsync non lascia i file nello stato giusto sulla destinazione.
Charles Stewart,

Risposte:


9

Utilizzare --itemize-changesper ottenere rsync per l'output di ciò che viene effettivamente modificato

La risposta di ire_and_cursesincomprende il punto su -tcui conservare i tempi di modifica , non decidere se trasferire o meno i file. Le opzioni che determinano se saltare o meno i file sono: -cche decide se saltare file identici in base al checksum e -Iche ignora le dimensioni e il tempo quando si decide se saltare i file.

Inoltre, sebbene rsync stia inviando nuovamente i file, non dovrebbe trasferire tutti i contenuti - in esecuzione con -vdovrebbe stampare un riepilogo di quanti dati sono stati abbinati nel trasferimento.

Per il controllo, dovrebbero essere utili:

  • md5sum dei file su entrambe le estremità - per mostrarti se il contenuto è cambiato
  • ls -l dovrebbe mostrarti se i timestamp sono cambiati.

5

Ricordo un problema simile con gli orologi di due sistemi che non si comportavano bene. Ho dovuto usare --modify-window=60per spiegare "anomalie temporali".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.