Làm cách nào để xem thanh tiến trình khi chạy rsync?


31

Tôi đang sử dụng Ubuntu 12.04 làm repo và muốn xem thanh tiến trình khi sử dụng rsynctừ dòng lệnh. Tôi đã thử tùy chọn được đề xuất trong bài viết này ( -P), nhưng tôi thích xem thanh tiến trình hơn và không sử dụng Grsync. Tôi đang sử dụng rsync -P source desthiện tại.


Bạn đã đọc chưa? stackoverflow.com/questions/238073/ hy
AB

Tôi đánh giá cao phản ứng nhanh. Tôi mong muốn nghiên cứu điều này.
Joseph Smith

Đó là một khởi đầu tốt nhưng tôi cần biết cách thực hiện cập nhật thanh tiến trình khi rsync đang hoạt động. Một người bạn nói rằng tôi cần thực hiện kích thước máy chủ và thực hiện lệnh xem bằng ống.
Joseph Smith

Có một câu trả lời :)
AB

Câu trả lời:


7

Còn cái này thì sao?

rsync_param="-av"
rsync "$rsync_param" a/ b |\
     pv -lep -s $(rsync "$rsync_param"n a/ b | awk 'NF' | wc -l)
  • $rsync_param

    Tránh đầu vào kép của các tham số

  • $(rsync "$rsync_param"n a/ b | awk 'NF' | wc -l)

    Xác định số lượng các bước để hoàn thành.

  • a/ b

    1. a/ là nguồn
    2. b là mục tiêu

1
@JosephSmith Bạn có hài lòng với câu trả lời của tôi không? Sau đó cho tôi một upvote (∧). Nếu tôi có thể giải quyết vấn đề của bạn, thì thật tuyệt nếu bạn đánh dấu câu trả lời của tôi (✓). ;)
AB

Tôi đã chấp nhận điều này một vài ngày trước với một nụ cười lớn. Tôi chỉ không chọn và chấp nhận nó một lần nữa mặc dù. Tôi không nghĩ mình có thể bỏ phiếu vì tôi không có đủ tín dụng. Cảm ơn sự giúp đỡ btw.
Joseph Smith

Bất kỳ ý tưởng tại sao tôi nhận được một lỗi, không tìm thấy tập tin hoặc thư mục? Lệnh tôi chạy là: root @ cto: / repo / ub Ubuntu # rsync "$ rsync_param" -a --prune-blank-dirs --exclude "* .iso" archive.ub Ubuntu.com/ubfox/indices/ / repo / ubfox / chỉ số | pv -lep -s $ (rsync "$ rsync_param" n archive.ubfox.com/indices/ / repo / ub Ubuntu / indices | awk 'NF' | wc -l)
Joseph Smith

1
"$rsync_param"nlà khá lạ; các trích dẫn có nghĩa là nó chỉ có thể hoạt động trên các tùy chọn không có khoảng trắng và gắn nvào cuối có nghĩa là nó chỉ có thể hoạt động với các tùy chọn ngắn. Rõ ràng và dễ dàng hơn nhiều chỉ đơn giản $rsync_param -n, trong đó chỉ định chạy khô mà không dựa vào định dạng rsync_paramvà không trích dẫn nó, các tùy chọn dài cũng có thể được đưa vào
Izkata

Làm việc lần đầu tiên, ngoại trừ nhận thấy nó không hiển thị tốc độ truyền
Ciasto piekarz

36

rsync có một --infotùy chọn có thể được sử dụng để không chỉ đưa ra tiến trình hiện tại mà còn cả tốc độ truyền và thời gian trôi qua:

--info=FLAGS            fine-grained informational verbosity

Giải thích về cách sử dụng nó xuất hiện dưới -Ptùy chọn trong trang man:

-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.)

Vì vậy, sau đây:

rsync -r --info=progress2 --info=name0 "$src" "$dst"

Kết quả sau đây là đầu ra và được cập nhật liên tục:

18,757,542,664 100%   65.70MB/s    0:04:32 (xfr#1389, to-chk=0/1510)

Lưu ý rằng khi chuyển bắt đầu tổng số khối, và do đó tiến trình hiện tại, có thể thay đổi khi tùy chọn đệ quy được sử dụng khi nhiều tệp được phát hiện để đồng bộ hóa


16

Bạn có thể sử dụng --progress--statstham số.

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
Điều này làm việc cho tôi trên macOS.
xoài

2

Điều này cuối cùng đã làm việc:

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

Nếu phiên bản của rsyncbạn không chấp nhận --info=progress2tùy chọn, bạn có thể sử dụng tqdm:

Để cài đặt:

pip install tqdm

Để sử dụng:

$ rsync -av / nguồn / mệnh | tqdm --unit_scale | wc -l
10,0Mit [00:02, 3,58Mit / giây]

0

Vâng, làm những gì Jon nói : sử dụng --info=progress2tùy chọn. Nhưng, tôi phải làm gì nếu phiên bản rsync của tôi quá cũ và không hỗ trợ tùy chọn này? Trả lời: nâng cấp rsync!

Đây là cách xây dựng rsynctừ nguồn trên Ubuntu

(đã thử nghiệm trên Ubuntu 16.04)

  1. Tải xuống phiên bản mới nhất của rsync: https://doad.samba.org/pub/rsync/src/ . Ví dụ: "rsync-3.1.3.tar.gz". Lưu nó trong một thư mục KHÔNG CÓ SPACES TẠI TẤT CẢ để đảm bảo nó được xây dựng đúng.
  2. Trong trình thám hiểm thư mục của bạn, nhấp chuột phải vào nó và đi đến "Trích xuất tại đây".
  3. Nhập thư mục giải nén (ví dụ: "rsync-3.1.3")
  4. Nhấp chuột phải vào màn hình trong trình quản lý thư mục của bạn và đi đến "Mở trong Terminal". Cách khác, thực hiện các bước 2 đến 4 theo cách thủ công trên dòng lệnh. Cuối cùng, bạn chỉ cần được chỉnh sửa cdvào thư mục được trích xuất này chứa rsyncmã nguồn.
  5. Kiểm tra phiên bản hiện tại của rsync. Hãy lưu ý điều này để bạn có thể thấy sau này nó thực sự đã được cập nhật.

    rsync --version
    
  6. Cài đặt các công cụ cần thiết:

    sudo apt update
    sudo apt install yodl
    
  7. Xây dựng:

    ./configure
    make
    sudo make install
    
  8. Đảm bảo nó đã được cập nhật:

    rsync --version
    

    Đầu ra mẫu:

    $ 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. Tìm kiếm các trang man cho "Progress2". Bây giờ bạn sẽ có quyền truy cập vào --info=progress2tùy chọn:

    man rsync
    

    ... sau đó nhấn /phím và gõ progress2; nhấn Enter để tìm kiếm nó; nhấn ncho khớp 'n'ext cho đến khi bạn tìm thấy mục bạn đang tìm:

    Ngoài ra còn có một --info=progress2tùy chọn đưa ra số liệu thống kê dựa trên toàn bộ chuyển, thay vì các tệp riêng lẻ. Sử dụng cờ này mà không xuất tên tệp (ví dụ: tránh -vhoặc chỉ định --info=name0) nếu bạn muốn xem cách chuyển tiền đang thực hiện mà không cuộn màn hình với nhiều tên. (Bạn không cần chỉ định --progresstùy chọn để sử dụng --info=progress2.)

Đồng thời xem: "Cách sử dụng rsync", bởi Gabriel Staples: https://superuser.com/questions/1271882/convert-ntfs-partition-to-ext4-how-to-copy-the-data/1464264#1464264

Tài liệu tham khảo một phần:

  1. http://www.beginninglinux.com/home/backup/compile-rsync-from-source-on-ubfox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.