GNU/Linux >> Linux Esercitazione >  >> Linux

Perché rsync non utilizza il trasferimento delta per i file locali?

Secondo la manpage, psusi ha ragione:

-W, --whole-file :Il trasferimento può essere più veloce se questa opzione viene utilizzata quando la larghezza di banda tra le macchine di origine e di destinazione è superiore alla larghezza di banda del disco (specialmente quando il "disco" è in realtà un filesystem in rete). Questa è l'impostazione predefinita quando sia l'origine che la destinazione sono specificate come percorsi locali, ma solo se non è attiva alcuna opzione di scrittura batch.


La risposta diretta a questa domanda è:

Usa il --no-W flag per forzare la compressione delta, indipendentemente dal locale o dal remoto.

Aggiornamento: Sembra che ci sia dell'altro nella storia. Il delta compression sembra essere abilitato solo tra il processo di ricezione e trasmissione di rsync. Quando si invia il file al file system, rsync potrebbe ancora scrivere l'intero file, anche con la compressione delta attiva.

Vedi l'indagine di "Wakan Tanka" qui.

Aggiornamento 2: Il --inplace L'opzione scrive solo le parti modificate del file. Tuttavia nota che è in conflitto con --sparse e non è consigliato, dal manuale, quando si utilizza il file di destinazione.


Per impostazione predefinita, rsync prima crea una nuova copia del file di destinazione e poi lo sostituisce, per vari motivi di sicurezza. Puoi sovrascriverlo specificando --inplace insieme a --no-whole-file . Questo dice a rsync di eseguire una modifica sul posto del file di destinazione, accettando i vari rischi (tipicamente minori per questa situazione) come documentato nella pagina man.


Linux
  1. Perché Find -mtime +1 restituisce solo file più vecchi di 2 giorni?

  2. Come utilizzare Inotifywait per guardare una directory per la creazione di file di un'estensione specifica?

  3. Script Shell per spostare i file più vecchi?

  4. Attendere il completamento del download di più file?

  5. Perché usare shm_open?

Perché uso exa invece di ls su Linux

Come usare CherryTree per prendere appunti

Comando ls in Linux per elencare i file

Perché Gedit continua ad aprire casualmente nuove istanze quando si aprono file da Nautilus?

Perché rsync non riesce a copiare i file da /sys in Linux?

Come eliminare i file .fuse_hidden*?