CZĘŚCIOWE ROZWIĄZANIE:
Postęp można monitorować za pomocą pv
funkcji. Jest to szczególnie przydatne podczas tworzenia kopii zapasowych dużych plików. Nie jest to przydatne w przypadku wielu małych plików, ale pozwala zobaczyć postęp w aktualnie otwartym pliku i prędkość wysyłania. pv
nie jest instalowany domyślnie.
Sposób użycia pv
: najpierw pobierz identyfikator procesu, a następnie umieść go jako parametr to pv -d
.
Przykład:
ps -ef | grep duplicity
Następnie odczytujemy PID (pierwszy numer po nazwie użytkownika)
pv -d PID
Lub liniowiec *:
* zakładając, że kopiujemy plik, który ma w nazwie „dysk”. Drugi grep zawęża wyniki wyszukiwania.
pv -d $(ps -ef | grep duplicity | grep disk | tr -s ' ' | cut -d ' ' -f 2)
gdzie:
-d
mówi pv, aby oczekiwał PID procesu do monitorowania,
ps -ef
drukuje listę procesów uruchomionych na maszynie,
grep duplicity
pobiera tylko linie z listy procesów, które zawierają duplikaty,
grep disk
unika pierwszego procesu grep z pokazywania się w wynikach ps -ef i upewnia się, że wymienimy tylko konkretny proces, który chcemy monitorować, szukając części nazwy skopiowanego pliku,
tr -s ' '
przycina wiele spacji na wyjściu ps -ef do jednego, dzięki czemu cięcie może działać poprawnie,
cut -d ' ' -f 2
wycina tylko drugie pole z wyjścia (nasz PID) i używa spacji jako separatorów pól. bez poprzedniego przycinania cięcie nie działałoby (zmienna ilość spacji na wyjściu ps -ef).
pv -d w akcji