Comprensione dell'output di --info = progress2 da rsync


72

Se corro rsynccon --info=progress2, ottengo un output simile

105.45M  13%  602.83kB/s    0:02:50 (xfr#495, ir-chk=1020/3825)

Ma cosa significano i singoli numeri? Non ho trovato una voce corrispondente nella pagina man.

  • Il primo numero sembra essere la quantità di dati che sono stati elaborati (i byte copiati effettivi e i byte ignorati, poiché erano già esistenti nella posizione di destinazione), giusto? Sembra che non sia il numero di dati trasferiti, perché aumenta più velocemente della mia connessione Internet ...
  • La percentuale si riferisce alla quantità di dati o al numero di file da copiare? Considera i file esclusi e i file che sono già aggiornati nella posizione di destinazione?
  • Il tempo in terza posizione sembrava inizialmente una stima del tempo per il completamento, ma quando l'ho provato, è saltato tra poche ore e qualche secondo. A cosa si riferisce e come viene calcolato?
  • Cosa significano gli ultimi due numeri?

1
Hai provato la manpagina ( OPZIONI > --progress)?
don_crissti,

Risposte:


90
105.45M 13% 602.83kB/s 0:02:50 (xfr#495, ir-chk=1020/3825)

Significa che:

  • Finora il destinatario / destinazione ha ricostruito 105,45 megabyte (o 13% ) dei circa 811,15 megabyte (100%) dei file del mittente / sorgente.
  • Questi file vengono ricostruiti a una velocità di 602,83 kilobyte al secondo e questa operazione di trasferimento dei dati finora ha richiesto 2 minuti e 50 secondi (tempo trascorso).

Inoltre, xfr # 495 significa che attualmente viene trasferito il 495 ° file, mentre ir-chk = 1020/3825 indica che, su un totale di (finora) 3825 file sottoposti a scansione ricorsiva (rilevati), finora ne rimangono ancora 1020 da controllare / verificare.

Significa che se la scansione rileva ad esempio più di 100 file da controllare, entrambi i lati aumenteranno di 100 (leggerà quindi ir-chk = 1120/3925 ). Dopo che tutti i file sono stati scansionati (rilevati dalla scansione ricorsiva incrementale), il numero sul lato destro della barra rimarrà lo stesso fino alla fine dell'intero processo, mentre quello sul lato sinistro della barra inizierà a diminuire man mano che sempre più file vengono controllati (verificati). Inoltre, a causa della fine della ricorsione, ir-chk cambierà in to-chk, indicando che la scansione di ricorsione incrementale ha terminato l'esecuzione del controllo (operazione di rilevamento file). Tuttavia, poiché i file continueranno a essere controllati / verificati fino a quando non lo sono tutti, il numero di file ancora da controllare / verificare (lato sinistro della barra) diminuirà fino a quando tale numero diventa zero (indicando la fine del processo di verifica dei file) .

Sia N il numero totale effettivo di file da controllare / verificare, quando l'intero processo termina vedrai:

to-chk=0/N

... il che significa che non è rimasto nessun file da controllare / verificare, su un totale di N file rilevati dalla scansione ricorsiva incrementale.

Informazioni su ir-chk (dalla pagina del manuale di rsync):

In una scansione a ricorsione incrementale, rsync non conoscerà il numero totale di file nell'elenco dei file fino a quando non raggiunge la fine della scansione, ma poiché inizia a trasferire i file durante la scansione, visualizzerà una riga con il testo " ir-chk "(per il controllo incrementale della ricorsione) invece di" to-chk "fino al punto in cui conosce l'intera dimensione dell'elenco, a quel punto passerà all'utilizzo di" to-chk ". Pertanto, vedere "ir-chk" ti consente di sapere che il conteggio totale dei file nell'elenco dei file continuerà ad aumentare (e ogni volta che lo fa, il conteggio dei file rimasti da controllare aumenterà del numero dei file aggiunti a la lista).


4
Una correzione minore: il 2:50 non è un ETA - è il tempo trascorso finora.
furtivamente il

4
@YuriSucupira La mia risposta è a quel commento. Tendo a usare sempre --no-inc-recursive, ma non è di questo che sto parlando. Il tempo ETA in progress2si basa sui dati (noti) totali e sul tempo trascorso; non è per file (ma fa lampeggiare il valore di tempo singolo per un segno di spunta al completamento di un singolo file). C'è stato un bug che lo coinvolgeva ad un certo punto che lo renderebbe meno chiaro, anche se non sono sicuro in quale versione sia presente
Izkata,

2
@Izkata Ricordo di aver testato rsync a quel punto (17 luglio 2016), prima di fare qualsiasi dichiarazione qui, solo per assicurarmi che l'ETA fosse per file anziché globale, e quindi ero "visivamente convinto" che fosse un file ETA. Stavo usando XUbuntu 14.04 (non ricordare quale versione di rsync fosse). Comunque, ho installato XUbuntu 16.04 (viene fornito con rsync 3.1.1-3ubuntu1) un paio di mesi fa e posso (visivamente) confermare che rsync -a --info=progress2 /src /destin effetti mi dà il tempo totale trascorso alternato con ETA globale , anziché ETA per file. È strano e nuovo per me, ma hai ragione.
Yuri Sucupira,

4
@wingedsubmariner Mentre sta copiando un file - diciamo, file1-, rsync ti mostra l'ETA (attuale) globale per l'intero processo di copia. Quindi, quando termina la copia file1, rsync ti mostra il tempo trascorso (attuale) globale, quindi inizia a copiare il file successivo - diciamo, file2-, quindi ti mostra di nuovo l'ETA (attuale) globale, fino al file2termine del processo di copia e poi rsync mostra il nuovo tempo totale (incrementato) trascorso. Questo è il motivo per cui vedi quei "salti": è perché vedi un ETA globale (totale) in diminuzione alternarsi con il tempo trascorso (totale) globale crescente.
Yuri Sucupira,

2
@ijoseph Yup, la pagina man menziona solo il comportamento dell'ETA. Questo è uno dei motivi probabili per cui così tante persone si sentono confuse riguardo al comportamento dell'IU durante il processo di ricostruzione. Io stesso ho dovuto prestare molta attenzione a tale processo per un po 'di tempo fino a quando non ho potuto finalmente svelare i suoi "misteri". :)
Yuri Sucupira,
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.