আরএসসিএন চালানোর সময় আমি কীভাবে একটি অগ্রগতি বার দেখতে পারি?


31

আমি উবুন্টু 12.04 রেপো হিসাবে ব্যবহার করছি rsyncএবং কমান্ড লাইনটি ব্যবহার করার সময় একটি অগ্রগতি বারটি দেখতে চাই । আমি এই নিবন্ধে প্রস্তাবিত বিকল্পটি চেষ্টা করেছিলাম ( -P), তবে আমি একটি অগ্রগতি বার দেখতে পছন্দ করি এবং গ্রিসিঙ্ক ব্যবহার না করে। আমি rsync -P source destবর্তমানে ব্যবহার করছি ।


আপনি কি এটি পড়েছেন? stackoverflow.com/questions/238073/…
এবি

আমি দ্রুত প্রতিক্রিয়া প্রশংসা করি। আমি এটি গবেষণা করার জন্য প্রত্যাশায়।
জোসেফ স্মিথ

এটি একটি ভাল শুরু ছিল কিন্তু আরএসসিএনসি কাজ করার সাথে সাথে কিভাবে অগ্রগতি বার আপডেট করা যায় তা আমার জানতে হবে। এক বন্ধু বলেছিল যে আমার সার্ভারের আকার বাস্তবায়ন করতে হবে এবং পাইপের সাহায্যে একটি ওয়াচ কমান্ড প্রয়োগ করতে হবে।
জোসেফ স্মিথ

একটি উত্তর আছে :)
এবি

উত্তর:


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
@ জোসেফস্মিথ আপনি কি আমার উত্তর নিয়ে সন্তুষ্ট? তারপরে আমাকে একটি আপভোট (∧) দিন। আমি যদি আপনার সমস্যার সমাধান করতে পারি তবে আপনি আমার উত্তরটি (✓) চিহ্নিত করে দিলে ভাল লাগবে। ;)
এবি

আমি কয়েক দিন আগে এটি একটি বড় হাসি দিয়ে মেনে নিয়েছি। আমি সদ্য নির্বাচিত এবং যদিও এটি আবার গ্রহণ করা। আমার মনে হয় না যে আমি ভোট দিতে পারব কারণ আমার কাছে পর্যাপ্ত ক্রেডিট নেই। বিটিডব্লিউ সহায়তার জন্য ধন্যবাদ।
জোসেফ স্মিথ

কোনও ধারণা কেন আমি ত্রুটি পাই, কোনও ফাইল বা ডিরেক্টরি পাই না? আমি যে কমান্ডটি চালাচ্ছি তা হ'ল: root @ cto: / repo / ubuntu # rsync "$ rsync_param" -a --prune-خالی-ডায়ারস - তালিকা "* .iso" সংরক্ষণাগার। উবুন্টু / সূচকসমূহ | pv -lep -s $ (rsync "$ rsync_param" n আর্কাইভ.বুন্টু.com/indices/ / রেপো / উবুন্টু / সূচকসমূহ | awk 'NF' | ডাব্লুসিএল)
জোসেফ স্মিথ

1
"$rsync_param"nবরং অদ্ভুত; উদ্ধৃতিগুলির অর্থ এটি কেবল কোনও ফাঁকা জায়গা ছাড়া বিকল্পগুলিতে কাজ করতে nপারে এবং শেষ পর্যন্ত সংযুক্ত করার অর্থ এটি কেবল সংক্ষিপ্ত বিকল্পগুলির সাথেই কাজ করতে পারে। অনেক পরিষ্কার এবং সহজ সহজ $rsync_param -n, যা বিন্যাসের উপর নির্ভর না করে শুকনো রানকে নির্দিষ্ট করে rsync_paramএবং এর উদ্ধৃতি না দিয়ে দীর্ঘ বিকল্পগুলিও অন্তর্ভুক্ত করা যেতে পারে
ইজকাটা

প্রথমবারের মতো কাজ করা, লক্ষ্য করা ব্যতীত এটি স্থানান্তর হার প্রদর্শন করে না
সিয়াসটো পাইকার্জ

36

আরএসএনসি-র একটি --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
এটি ম্যাকোজে আমার জন্য কাজ করেছে।
আমের

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

ব্যবহার করা:

y rsync -av / উত্স / গন্তব্য | tqdm --unit_scale | wc -l
10.0 মিট [:), 3.58 মিট / গুলি]

0

হ্যাঁ, জন যা বলেছিল তাই করুন : --info=progress2বিকল্পটি ব্যবহার করুন । তবে, আমার আরএসসিএনসিটির সংস্করণটি খুব পুরানো এবং এই বিকল্পটি সমর্থন না করে আমি কী করব? উত্তর: আরএসএনসি আপগ্রেড!

rsyncউবুন্টু থেকে উত্স থেকে কীভাবে তৈরি করা যায় তা এখানে

(উবুন্টু 16.04 এ পরীক্ষিত)

  1. RSSync এর সর্বশেষ সংস্করণটি ডাউনলোড করুন: 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. "অগ্রগতি 2" এর জন্য ম্যান পেজগুলি অনুসন্ধান করুন। আপনার এখন --info=progress2বিকল্পটিতে অ্যাক্সেস থাকবে :

    man rsync
    

    ... তারপরে /কী টিপুন এবং টাইপ করুন progress2; এটি অনুসন্ধান করতে এন্টার টিপুন; nআপনি যে এন্ট্রিটি সন্ধান করছেন তা না পাওয়া পর্যন্ত 'এন'সেক্সট ম্যাচের জন্য চাপুন :

    একটি --info=progress2বিকল্প রয়েছে যা পৃথক ফাইলের পরিবর্তে পুরো স্থানান্তরের ভিত্তিতে পরিসংখ্যানকে আউটপুট করে। কোনও ফাইল নাম আউটপুট ছাড়াই এই পতাকাটি ব্যবহার করুন (উদাহরণস্বরূপ এড়ানো -vবা নির্দিষ্ট করুন --info=name0) আপনি যদি দেখতে চান যে প্রচুর নাম দিয়ে স্ক্রিনটি স্ক্রোল না করে স্থানান্তর কীভাবে চলছে। (আপনার --progressব্যবহারের জন্য বিকল্পটি নির্দিষ্ট করার দরকার নেই --info=progress2))

এছাড়াও দেখুন: গ্যাব্রিয়েল স্টেপলস দ্বারা "আরএসসিএনসি কীভাবে ব্যবহার করবেন": 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.