rsync를 실행할 때 진행률 표시 줄을 어떻게 볼 수 있습니까?


31

우분투 12.04를 리포지토리로 사용 rsync하고 있으며 명령 줄에서 사용할 때 진행률 표시 줄을보고 싶습니다 . 이 기사 ( -P) 에서 제안한 옵션을 시도했지만 진행률 표시 줄을보고 Grsync를 사용하지 않는 것을 선호합니다. 나는 rsync -P source dest현재 사용 하고 있습니다.



빠른 답변 감사합니다. 나는 이것을 연구하기를 기대합니다.
조셉 스미스

시작은 좋았지 만 rsync가 작동하면서 진행률 표시 줄을 업데이트하는 방법을 알아야합니다. 친구가 서버 크기를 구현하고 파이프로 감시 명령을 구현해야한다고 말했습니다.
Joseph Smith

답변이 있습니다 :)
AB

답변:


7

이건 어때요?

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

    1. a/ 소스입니다
    2. b 목표는

1
@JosephSmith 내 대답에 만족 했습니까? 그런 다음 공감대를주십시오 (∧). 문제를 해결할 수 있다면 내 답변을 표시하면 좋을 것입니다 (✓). ;)
AB

나는 며칠 전에 큰 웃음으로 이것을 받아 들였다. 나는 단지 선택을 취소하고 다시 받아 들였다. 크레딧이 충분하지 않아서 투표 할 수 없다고 생각합니다. 도와 주셔서 감사합니다.
조셉 스미스

파일이나 디렉토리를 찾을 수없는 이유가 무엇입니까? 내가 실행하는 명령은 다음과 같습니다. root @ cto : / repo / ubuntu # rsync "$ rsync_param"-a --prune-empty-dirs- "*. iso"제외 : archive.ubuntu.com/ubuntu/indices/ / repo / 우분투 / 표시 | pv -lep -s $ (rsync "$ rsync_param"n archive.ubuntu.com/indices/ / repo / ubuntu / indices | awk 'NF'| wc -l)
Joseph Smith

1
"$rsync_param"n다소 이상하다. 따옴표는 공백이없는 옵션에서만 작동 n하며, 끝에 공백을 붙이면 짧은 옵션으로 만 작동 할 수 있습니다. 보다 명확하고 쉬운 방법은 간단합니다 $rsync_param -n. 이는의 형식에 의존하지 않고 rsync_param
드라 이런을 지정

눈치를 제외하고 처음으로 일했다 그것을하지 않습니다 디스플레이 전송 속도
Ciasto piekarz

36

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)

전송이 시작될 때 총 청크 수와 현재 진행률은 재귀 적 옵션을 사용하여 동기화 할 파일이 더 많이 발견 될 때 변경 될 수 있습니다.


16

--progress--stats매개 변수 를 사용할 수 있습니다 .

rsync -avzh --progress --stats root@server:/path/to/file output_name

root@server's password: 
receiving incremental file list
file
         98.19M  54%    8.99MB/s    0:00:08

2
이것은 macOS에서 나를 위해 일했습니다.
망고

2

이것은 마침내 작동했습니다 :

rsync "$rsync_param" -a --prune-empty-dirs --exclude "*.iso" rsync://archive.ubuntu.com/ubuntu/indices/ /repo/ubuntu/indices | pv -lep -s $(rsync "$rsync_param"n rsync://archive.ubuntu.com/indices/ /repo/ubuntu/indices | awk 'NF' | wc -l)

1

사용중인 버전 rsync에서 --info=progress2옵션을 허용하지 않으면 다음을 사용할 수 있습니다 tqdm.

설치하기 위해서:

pip install tqdm

쓰다:

$ rsync -av / source / dest | tqdm --unit_scale | 화장실 -l
10.0Mit [00:02, 3.58Mit / s]

0

예, 존이 말한 것을 수행하십시오 : --info=progress2옵션을 사용하십시오 . 그러나 rsync 버전이 너무 오래되어이 옵션을 지원하지 않으면 어떻게해야합니까? 답변 : rsync 업그레이드!

rsyncUbuntu의 소스에서 빌드하는 방법은 다음과 같습니다.

(우분투 16.04에서 테스트)

  1. : rsync를 최신 버전 다운로드 https://download.samba.org/pub/rsync/src/을 . 예 : "rsync-3.1.3.tar.gz". 공간이 전혀없는 디렉토리에 저장하여 올바르게 빌드되도록하십시오.
  2. 폴더 탐색기에서 마우스 오른쪽 버튼으로 클릭하고 "여기 추출"로 이동하십시오.
  3. 추출 된 폴더를 입력하십시오 (예 : "rsync-3.1.3")
  4. 폴더 관리자에서 화면을 마우스 오른쪽 버튼으로 클릭하고 "터미널에서 열기"로 이동하십시오. 또는 명령 행에서 2-4 단계를 수동으로 수행하십시오. 궁극적으로 소스 코드가 cd들어있는이 추출 된 디렉토리로 들어가면됩니다 rsync.
  5. 의 현재 버전을 확인하십시오 rsync. 나중에 실제로 업데이트되었는지 확인할 수 있도록이 정보를 기록해 두십시오.

    rsync --version
    
  6. 필요한 도구를 설치하십시오.

    sudo apt update
    sudo apt install yodl
    
  7. 짓다:

    ./configure
    make
    sudo make install
    
  8. 업데이트되었는지 확인하십시오.

    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.
    
  9. 매뉴얼 페이지에서 "progress2"를 검색하십시오. 이제 --info=progress2옵션에 액세스 할 수 있습니다 :

    man rsync
    

    ... 그런 다음 /키 를 누르고 입력하십시오 progress2. 검색하려면 Enter를 누르십시오. n찾고있는 항목을 찾을 때까지 '다음'일치를 누르 십시오.

    --info=progress2개별 파일이 아닌 전체 전송을 기반으로 통계를 출력 하는 옵션 도 있습니다. 이름이 많은 화면을 스크롤하지 않고 전송이 수행되는 방식을 보려면 파일 이름을 출력하지 않고이 플래그를 사용하십시오 (예 : 피하기 -v또는 지정 --info=name0). ( --progress을 사용하기 위해 옵션 을 지정할 필요는 없습니다 --info=progress2.)

Gabriel Staples의 "rsync 사용 방법"도 참조하십시오 : https://superuser.com/questions/1271882/convert-ntfs-partition-to-ext4-how-to-copy-the-data/1464264#1464264

부분 참조 :

  1. http://www.beginninglinux.com/home/backup/compile-rsync-from-source-on-ubuntu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.