স্কট প্যাকের দুর্দান্ত উত্তরের জন্য ধন্যবাদ (এসএসএস দিয়ে এটি কীভাবে করা যায় তা আমি জানতাম না), আমি এই উন্নতিটি (যদি bash
আপনার শেল হয়) দিতে পারি। এটি সমান্তরাল সংক্ষেপণ, একটি অগ্রগতি সূচক এবং নেটওয়ার্ক লিঙ্ক জুড়ে সততা পরীক্ষা করবে:
tar c file_list |
tee >(sha512sum >&2) |
pv -prab |
pigz -9 |
ssh [user@]remote_host '
gunzip |
tee >(sha512sum >&2) |
tar xC /directory/to/extract/to
'
pv
আপনার পাইপের জন্য একটি দুর্দান্ত অগ্রগতি ভিউয়ার প্রোগ্রাম এবং pigz
এটি একটি সমান্তরাল জিজিপ প্রোগ্রাম যা আপনার সিপিইউতে যতটা থ্রেড ডিফল্টরূপে ব্যবহার করে (আমি সর্বোচ্চ 8 টি পর্যন্ত বিশ্বাস করি)। আপনি নেটওয়ার্ক ব্যান্ডউইথের সাথে সিপিইউর অনুপাতটিকে আরও ভালভাবে ফিট করতে সংকোচনের স্তরের টিউন করতে পারেন এবং এটির সাথে অদলবদল করতে পারেন pxz -9e
এবং pxz -d
যদি আপনার কাছে ব্যান্ডউইথের চেয়ে অনেক বেশি সিপিইউ থাকে। আপনাকে কেবল যাচাই করতে হবে যে সম্পূর্ণ হওয়ার পরে দুটি যোগফল মিলে match
এই বিকল্পটি প্রচুর পরিমাণে ডেটা পাশাপাশি উচ্চ বিলম্বিত নেটওয়ার্কগুলির জন্য দরকারী তবে লিঙ্কটি অস্থির এবং ড্রপ হলে খুব বেশি কার্যকর নয়। এই ক্ষেত্রে, আরএসসিএনসি সম্ভবত সেরা পছন্দ হিসাবে এটি আবার শুরু হতে পারে।
নমুনা আউটপুট:
6c1fe5a75cc0280709a794bdfd23d7b8b655f0bbb4c320e59729c5cd952b4b1f84861b52d1eddb601259e78249d3e6618f8a1edbd20b281d6cd15f80c8593c3e - ]
176MiB [9.36MiB/s] [9.36MiB/s] [ <=> ]
6c1fe5a75cc0280709a794bdfd23d7b8b655f0bbb4c320e59729c5cd952b4b1f84861b52d1eddb601259e78249d3e6618f8a1edbd20b281d6cd15f80c8593c3e -
ব্লক ডিভাইসের জন্য:
dd if=/dev/src_device bs=1024k |
tee >(sha512sum >&2) |
pv -prab |
pigz -9 |
ssh [user@]remote_host '
gunzip |
tee >(sha512sum >&2) |
dd of=/dev/src_device bs=1024k
'
স্পষ্টতই, নিশ্চিত করুন যে তারা গণনা =, এড়িয়ে যান =, অনুসন্ধান =, ইত্যাদি সহ একই আকার বা সীমা limit
আমি যখন এইভাবে ফাইল dd if=/dev/zero of=/thefs/zero.dat bs=64k && sync && rm /thefs/zero.dat && umount /thefs
সিস্টেমগুলি অনুলিপি করি তখন আমি প্রায়শই প্রথমে অব্যবহৃত বেশিরভাগ জায়গাকে শূন্য করতে যা এক্সফারটিকে গতিবেগ করে।