rsync의 전송 속도 출력을 저장하고 그래프로 표시

rsync의 전송 속도 출력을 저장하고 그래프로 표시

실행하면 rsync -P <source> <destination>복사 중 전송 속도가 출력되며, 1초마다 업데이트되는 것으로 알고 있습니다. 그러나 그것은 라인에서 발생합니다. 시간 경과에 따른 전송 속도를 그래프로 표시하고 진행 상황을 확인할 수 있도록 모든 텍스트 출력을 어떻게 저장합니까?

X분 안에 100GB 파일의 문제를 해결하고 이동하고 있는데 어느 시점에서 파일이 400MB/초로 폭발하고 때로는 KB/초로 떨어지기도 했습니다. X분 동안 무슨 일이 일어나고 있는지, 어떻게 진행되는지 알고 싶습니다. 그것은 수행됩니다... Microsoft Windows에서와 마찬가지로 복사 프로세스 중에 나타나는 팝업 창을 통해 전송 속도가 얼마나 높은지 또는 낮은지 시각적으로 확인할 수 있습니다.

답변1

^M업데이트 후에는 (리턴) 문자로 진행 라인이 반복됩니다 . 따라서 ^M원하는 경우 개행 문자로 변환하고 진행 라인을 파악할 수 있습니다 .

$ rsync -P <source> <destination> | sed 's/\x0d/\x0a/g' | grep %
         32,768   0%    0.00kB/s    0:00:00
    171,311,104  74%  163.34MB/s    0:00:00
    230,258,742 100%  159.33MB/s    0:00:01 (xfr#1, to-chk=0/1)

or something like this, but at this point you can refine according to your needs:
$ rsync -P <source> <destination> | sed 's/\x0d/\x0a/g' | grep %|tail -n +2|awk '{print NR,$3}'
1 163.34MB/s
2 159.33MB/s

관련 정보