rsync impiega molto tempo per inviare l'elenco dei file


14

Sto cercando di utilizzare rsync per eseguire il backup di alcuni file da un disco rigido interno su un'unità USB. (Sto lavorando su un NAS world mybook wd)

Ci sono due cartelle che voglio fare il backup. Una cartella musicale e una cartella video. La cartella della musica (864 file, circa 10 GB circa) ha funzionato perfettamente in circa 1 ora (per il progresso completo).

Ma la cartella video (1025 file, circa 700 gb) è ancora in "invio elenco file incrementale" per 8 ore. Non credo che nulla sia stato trasferito. Cosa potrebbe causare una tale differenza? La cartella video non contiene molti più file. Sì, è molto più grande, ma questo non dovrebbe fare la differenza nel generare l'elenco dei file, penso.

Sto usando questo comando rsync:

/shares/extern # rsync -avPc --stats /shares/Public/Shared\ Videos /shares/extern/

Ora da quando lavoro su un NAS, non ho molta potenza della CPU, ma penso sia troppo lungo.

Cosa ne pensi, questo comportamento è normale? C'è qualche suggerimento su cosa posso fare per accelerare un po 'tutto?

Sto usando rsync 3.0.2


2
Per favore, non inserire le risposte nel corpo della domanda. Puoi aggiungere una tua risposta se nessuna delle risposte correnti è corretta o commentare le risposte di altre persone se hai qualcosa da aggiungere. Grazie!
Caleb,

Risposte:


25

L' -copzione forza rsync a calcolare un checksum per tutti i file. Ciò significa che sta leggendo il contenuto di tutti i file video prima che inizi a decidere quali copiare. Questo è ovviamente lento.

Valuta la possibilità di rimuovere questa opzione, se possibile. Ne hai bisogno solo in rari casi. Vedere la descrizione nella pagina del manuale per ulteriori dettagli:

Si noti che rsync verifica sempre che ogni file trasferito sia stato correttamente ricostruito sul lato ricevente controllando un checksum di file intero che viene generato quando il file viene trasferito, ma che la verifica automatica dopo il trasferimento non ha nulla a che fare con questa opzione precedente- the-transfer "Questo file deve essere aggiornato?" dai un'occhiata.


oh grazie per il suggerimento. dopo aver letto la manpage, posso dire, che ho capito male l'opzione -c. Ho pensato che controlla dopo aver copiato con un checksum. Grazie per l'aiuto!
Graslandpinguin,

@CaptnLenz, felice di aiutarti. Ti preghiamo di considerare di fare clic sul segno di spunta sul lato sinistro della mia risposta per accettare la mia soluzione.
scatta il

Ho avuto questo problema perché ho passato '-archive' piuttosto che '--archive' al comando rsync. rsync considerava '-archive' una variante di -c.
Leons il

4
Solo per espandere il commento di @Leons, -archive viene visto come -a -r -c -h -i -v -e, tutti gli switch validi. Piccolo errore ingannevole.
Segna C

Aspetta, qual è la differenza tra il controllo del checksum e il controllo della dimensione del file / modifica data? Il controllo del checksum richiede in realtà molto più tempo del controllo della dimensione del file / della data di modifica? Rsync salva i checksum dopo la prima esecuzione o li calcola da zero ogni singola esecuzione?
Ken,
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.