우분투 12.04를 리포지토리로 사용 rsync
하고 있으며 명령 줄에서 사용할 때 진행률 표시 줄을보고 싶습니다 . 이 기사 ( -P
) 에서 제안한 옵션을 시도했지만 진행률 표시 줄을보고 Grsync를 사용하지 않는 것을 선호합니다. 나는 rsync -P source dest
현재 사용 하고 있습니다.
우분투 12.04를 리포지토리로 사용 rsync
하고 있으며 명령 줄에서 사용할 때 진행률 표시 줄을보고 싶습니다 . 이 기사 ( -P
) 에서 제안한 옵션을 시도했지만 진행률 표시 줄을보고 Grsync를 사용하지 않는 것을 선호합니다. 나는 rsync -P source dest
현재 사용 하고 있습니다.
답변:
이건 어때요?
rsync_param="-av"
rsync "$rsync_param" a/ b |\
pv -lep -s $(rsync "$rsync_param"n a/ b | awk 'NF' | wc -l)
$rsync_param
매개 변수의 이중 입력 방지
$(rsync "$rsync_param"n a/ b | awk 'NF' | wc -l)
완료 할 단계 수를 결정합니다.
a/ b
a/
소스입니다b
목표는"$rsync_param"n
다소 이상하다. 따옴표는 공백이없는 옵션에서만 작동 n
하며, 끝에 공백을 붙이면 짧은 옵션으로 만 작동 할 수 있습니다. 보다 명확하고 쉬운 방법은 간단합니다 $rsync_param -n
. 이는의 형식에 의존하지 않고 rsync_param
rsync에는 --info
현재 진행률뿐만 아니라 전송 속도 및 경과 시간을 출력하는 데 사용할 수 있는 옵션이 있습니다.
--info=FLAGS fine-grained informational verbosity
사용법에 대한 설명은 -P
매뉴얼 페이지 의 옵션에 있습니다.
-P The -P option is equivalent to --partial --progress. Its purpose is to
make it much easier to specify these two options for a long transfer that
may be interrupted.
There is also a --info=progress2 option that outputs statistics based on
the whole transfer, rather than individual files. Use this flag
without out‐putting a filename (e.g. avoid -v or specify --info=name0)
if you want to see how the transfer is doing without scrolling the screen
with a lot of names. (You don’t need to specify the --progress
option in order to use --info=progress2.)
그래서 다음과 같이 :
rsync -r --info=progress2 --info=name0 "$src" "$dst"
다음이 출력되고 지속적으로 업데이트됩니다.
18,757,542,664 100% 65.70MB/s 0:04:32 (xfr#1389, to-chk=0/1510)
전송이 시작될 때 총 청크 수와 현재 진행률은 재귀 적 옵션을 사용하여 동기화 할 파일이 더 많이 발견 될 때 변경 될 수 있습니다.
예, 존이 말한 것을 수행하십시오 : --info=progress2
옵션을 사용하십시오 . 그러나 rsync 버전이 너무 오래되어이 옵션을 지원하지 않으면 어떻게해야합니까? 답변 : rsync 업그레이드!
rsync
Ubuntu의 소스에서 빌드하는 방법은 다음과 같습니다.(우분투 16.04에서 테스트)
cd
들어있는이 추출 된 디렉토리로 들어가면됩니다 rsync
.의 현재 버전을 확인하십시오 rsync
. 나중에 실제로 업데이트되었는지 확인할 수 있도록이 정보를 기록해 두십시오.
rsync --version
필요한 도구를 설치하십시오.
sudo apt update
sudo apt install yodl
짓다:
./configure
make
sudo make install
업데이트되었는지 확인하십시오.
rsync --version
샘플 출력 :
$ rsync --version rsync version 3.1.3 protocol version 31 Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, no ACLs, xattrs, iconv, symtimes, prealloc rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details.
매뉴얼 페이지에서 "progress2"를 검색하십시오. 이제 --info=progress2
옵션에 액세스 할 수 있습니다 :
man rsync
... 그런 다음 /
키 를 누르고 입력하십시오 progress2
. 검색하려면 Enter를 누르십시오. n
찾고있는 항목을 찾을 때까지 '다음'일치를 누르 십시오.
--info=progress2
개별 파일이 아닌 전체 전송을 기반으로 통계를 출력 하는 옵션 도 있습니다. 이름이 많은 화면을 스크롤하지 않고 전송이 수행되는 방식을 보려면 파일 이름을 출력하지 않고이 플래그를 사용하십시오 (예 : 피하기-v
또는 지정--info=name0
). (--progress
을 사용하기 위해 옵션 을 지정할 필요는 없습니다--info=progress2
.)