Jeśli działam rsync
z --info=progress2
, otrzymuję wyjście jak
105.45M 13% 602.83kB/s 0:02:50 (xfr#495, ir-chk=1020/3825)
Ale co oznaczają pojedyncze liczby? Nie znalazłem pasującego wpisu na stronie man.
- Pierwsza liczba wydaje się być ilością danych, które zostały przetworzone (rzeczywiste skopiowane bajty, a także bajty pominięte, ponieważ już istniały w docelowej lokalizacji), prawda? Wydaje się, że nie jest to liczba przesłanych danych, ponieważ rośnie szybciej niż moje połączenie internetowe ...
- Czy procent odnosi się do ilości danych lub liczby plików do skopiowania? Czy uwzględnia wykluczone pliki i pliki, które są już aktualne w lokalizacji docelowej?
- Czas na trzeciej pozycji początkowo wydawał się szacunkowym czasem ukończenia, ale kiedy spróbowałem, skoczył od kilku godzin do kilku sekund. Do czego to się odnosi i jak jest obliczane?
- Co oznaczają dwie ostatnie cyfry?
man
strony ( OPCJE >--progress
)?Odpowiedzi:
Oznacza, że:
Ponadto xfr # 495 oznacza, że obecnie przesyłany jest 495 plik, natomiast ir-chk = 1020/3825 wskazuje, że spośród 3825 plików (dotychczas) rekurencyjnie skanowanych (wykrywanych), jak dotąd 1020 z nich jest nadal do sprawdzenia / weryfikacji.
Oznacza to, że jeśli skanowanie wykryje np. Więcej 100 plików do sprawdzenia, obie strony zwiększą się o 100 (wówczas odczytane zostanie ir-chk = 1120/3925 ). Po zeskanowaniu wszystkich plików (wykrytych podczas przyrostowego skanowania rekurencyjnego) liczba po prawej stronie ukośnika pozostanie taka sama do końca całego procesu, podczas gdy liczba po lewej stronie ukośnika zacznie się zmniejszać w miarę jak coraz więcej plików jest sprawdzanych (weryfikowanych). Ponadto, z powodu zakończenia rekurencji, ir-chk zmieni się na to-chk, wskazując, że przyrostowe skanowanie rekurencyjne zakończyło sprawdzanie (operacja wykrywania pliku). Mimo to, ponieważ pliki będą sprawdzane / weryfikowane, dopóki nie zostaną wszystkie, liczba plików do sprawdzenia / weryfikacji (lewa strona ukośnika) będzie się zmniejszać, aż liczba ta wyniesie zero (co oznacza koniec procesu weryfikacji pliku) .
Niech N będzie rzeczywistą całkowitą liczbą plików do sprawdzenia / weryfikacji, gdy zakończy się cały proces, zobaczysz:
... co oznacza, że nie ma już żadnego pliku do sprawdzenia / weryfikacji, spośród wszystkich N plików wykrytych podczas przyrostowego skanowania rekurencyjnego.
O ir-chk (ze strony podręcznika rsync):
źródło
--no-inc-recursive
, ale nie o tym mówię. Czas ETAprogress2
zależy od całkowitych (znanych) danych i upływu czasu; nie jest na plik (ale miga wartość upływu czasu dla pojedynczego pliku dla tik po zakończeniu pojedynczego pliku). W pewnym momencie wystąpił błąd , który uczyniłby to mniej zrozumiałym, chociaż nie jestem pewien, w jakiej wersji jestrsync -a --info=progress2 /src /dest
w rzeczywistości daje mi całkowity czas na przemian z globalnym ETA, zamiast ETA na plik. To dla mnie dziwne i nowe, ale masz rację.file1
- rsync pokazuje (bieżącą) globalną ETA dla całego procesu kopiowania. Następnie, po zakończeniu kopiowaniafile1
, rsync pokazuje (bieżący) globalny czas, który upłynął, a następnie rozpoczyna kopiowanie następnego pliku - powiedzmyfile2
-, pokazując w ten sposób (bieżący) globalny ETA, aż do zakończenia procesu kopiowania,file2
a następnie rsync pokazuje nowy (zwiększony) całkowity czas, który upłynął. Właśnie dlatego widzisz te „skoki”: to dlatego, że widzisz malejącą globalną (całkowitą) ETA na przemian ze wzrostem globalnego (całkowitego) upływającego czasu.