স্থানীয় ফাইলগুলির জন্য আরএসসিএন কেন ডেল্টা-ট্রান্সফার ব্যবহার করে না?


25

আমার কাছে একটি বড় আইসো চিত্র রয়েছে যা বর্তমানে টরেন্ট ক্লায়েন্ট দ্বারা স্পেস-রিজার্ভেশন চালু করে ডাউনলোড করা হচ্ছে: এর অর্থ, ফাইলের আকার পরিবর্তন হচ্ছে না যখন কিছু অংশে (4 এমবি) একটি ডাউনলোডের কারণে নিয়মিত পরিবর্তন হয় changing

90% ডাউনলোডে পরে সময় সাশ্রয় করার জন্য আমি প্রাথমিক আরএসসিএনসি করি:

y rsync -Ph DVD.iso / মিডিয়া / অন্য-এইচডিডি /
বর্ধিত ফাইল তালিকা প্রেরণ

DVD.iso
       2.60G 100% 40.23MB / s 0:01:01 (এক্সফার # 1, টু-চেক = 0/1)

2.60G বাইট প্রেরিত 73 বাইট 34.59M বাইট / সেকেন্ড
মোট আকার হ'ল 2.60G স্পিডআপ 1.00

তারপরে, ফাইলটি সম্পূর্ণ ডাউনলোড হয়ে গেলে, আমি আবার সিএসএনসি:

total size is 2.60G   speedup is 1.00

স্পিডআপ = 1 বলছে ডেল্টা-ট্রান্সফার ব্যবহার করা হয়নি, যদিও 90% ফাইলের কোনও পরিবর্তন হয়নি, লক্ষ্য দির অন্য এফএসে রয়েছে এবং অনুলিপি করতে কয়েক মিনিট সময় নেয়। কেন স্থানান্তরটি দ্রুত করার চেষ্টা করা হচ্ছে না ?! আমি কীভাবে rsyncব-দ্বীপ-স্থানান্তর ব্যবহার করতে বাধ্য করতে পারি ?


6
আপনি যা করছেন তার কোনও মানে হয় না। আরএসসিএনসিটির উদ্দেশ্য স্থানীয়ভাবে নয়, নেটওয়ার্কের মাধ্যমে ফাইল স্থানান্তর করা দ্রুত করা speed পার্থক্যগুলি সন্ধান করতে, এটি উত্স এবং গন্তব্য উভয়ই পড়তে হবে। পার্থক্যগুলি সন্ধান করতে স্থানীয়ভাবে গন্তব্যটি পড়তে যে সময় লাগে, আপনি সেই সাথে একটি সাধারণ অনুলিপিও করতে পারেন। কেবল ফাইলটি অনুলিপি না করে প্রথমে গন্তব্যে ডাউনলোড করুন।
psusi

1
সুতরাং এটি কেবল ডেল্টা-এক্সফার ব্যবহার করে না কারণ স্থানীয়ভাবে কাজ করা, হ্যাশগুলি গণনা করার চেয়ে অনুলিপি করা আরও দ্রুত? যদি হ্যাঁ - উত্তর plz :) পোস্ট করুন :)
কলিপ্টো

9
নির্দিষ্ট পরিস্থিতিতে স্থানীয় ডিস্কে লেখার চেয়ে পড়া দ্রুততর হতে পারে। এটি কোনও এসএসডি-তে পরিধানও হ্রাস করতে পারে। এটি অবশ্যই একটি বৈধ প্রশ্ন এবং উত্তরটি আমার কাছে বেশ মূল্যবান।
এইচআরজে

2
উপরের এইচআরজে-র মন্তব্য ছাড়াও @psusi, লক্ষ্য ফাইলটি পুনরায় সংযুক্ত করা হয়েছে (যেমন বিটিআরএফস বা ocfs2 তে) তখন কেসটি বিবেচনা করুন। সিঙ্কের সময় লেখাগুলি হ্রাস করা সামগ্রিক স্থান ব্যবহারের ক্ষেত্রে বিরাট পার্থক্য করতে পারে।

উত্তর:


20

মতে র manpage , psusi অধিকার হল:

-ডাব্লু - - পুরো ফাইলটি : উত্স এবং গন্তব্য মেশিনগুলির মধ্যে ব্যান্ডউইথ ব্যান্ডউইথথ ডিস্কের চেয়ে বেশি হলে (বিশেষত যখন "ডিস্ক" একটি নেটওয়ার্কযুক্ত ফাইল সিস্টেম হয়) এই বিকল্পটি ব্যবহার করা হলে স্থানান্তরটি দ্রুততর হতে পারে। এটি উত্স এবং গন্তব্য উভয়ই স্থানীয় পাথ হিসাবে নির্দিষ্ট করা হলে এটি ডিফল্ট, তবে কেবল কোনও ব্যাচ-রাইটিং বিকল্প কার্যকর না হলে option


10
ওহ, আপনাকে ধন্যবাদ! আমি এই লাইনটি সঙ্কুচিত করেছি :) ডেল্টা-ট্র্যাশফার চালু করতে, ব্যবহার করুন-no-W
কলিপ্টো

1
আমার সিস্টেমে -no-Wকেবল দীর্ঘ বিকল্প কাজ করে না -no-whole-file। এই স্যুইচটির প্রয়োজনীয়তার কারণ হ'ল আমি যখন ব্যাকআপ সেট আপ করি এবং বড় আকারের ফাইল (যেমন চিত্র) থাকে যা একই সংশোধন করার সময় না পায়। এটি আমার স্থানীয় ফাইল সিস্টেমে ডেল্টা-ট্রান্সফার ব্যবহার করে এই ফাইলগুলি সিঙ্ক করতে খুব দ্রুত, স্পিডআপটি 163.26।
জেসি দ্য উইন্ড ভ্যান্ডেরার

6
@ জেসে উইন্ডওয়ার্ডার, দীর্ঘ বিকল্পটি হ'ল --no-whole-file(দয়া করে, --শুরুতে ডাবলটি নোট করুন )।
এডি সি

ধন্যবাদ এডি সি। আমি আমার মন্তব্যটি সম্পাদনা করতাম যদি আমি কীভাবে আমাদের অনুভব করতে পারি :-(
জেসি দ্য উইন্ড ভ্যান্ডারার

17

এই প্রশ্নের সরাসরি-উত্তর উত্তর:

--no-Wস্থানীয় বা দূরবর্তী কোনও বিষয় নয়, ডেল্টা সংক্ষেপণের জন্য পতাকা ব্যবহার করুন the

আপডেট: দেখে মনে হচ্ছে গল্পটির আরও কিছু আছে। দেখে delta compressionমনে হয় কেবলমাত্র আরএসএনসি-র গ্রহণ এবং প্রেরণ প্রক্রিয়ার মধ্যেই সক্ষম হয়ে গেছে। ফাইল-সিস্টেমে ফাইল আউটপুট দেওয়ার সময় rsync, ডেল্টা সংক্ষেপণের পরেও পুরো ফাইলটি গুলি লিখতে পারে।

"ওয়াকান টঙ্কার" তদন্তটি এখানে দেখুন


2
--no-Wসর্বদা আমার ক্ষেত্রে পুরো ফাইলটি স্থানান্তর করুন। অনুগ্রহ করে পরীক্ষা করুন unix.stackexchange.com/questions/291156/…
ওয়াকান

@ ওয়াকানটানকা এটি আকর্ষণীয়! আমি আমার উত্তর আপডেট করেছি।
এইচআরজে

3

ডিফল্টরূপে, rsync প্রথমে বিভিন্ন সুরক্ষার কারণে লক্ষ্য ফাইলটির একটি নতুন অনুলিপি তৈরি করে এবং তারপরে এটি প্রতিস্থাপন করে। আপনি --inplaceপাশাপাশি উল্লেখ করে এটি ওভাররাইড করতে পারেন --no-whole-file। এটি আরএসসিএনকে ম্যান পৃষ্ঠায় নথিভুক্ত বিভিন্ন ঝুঁকির (সাধারণত এই পরিস্থিতির জন্য অপ্রতুল) গ্রহণ করে লক্ষ্য ফাইলটির একটি স্থান-সম্পাদনা করতে বলে।


0

ডিফল্টরূপে rsyncগন্তব্যস্থলে ফাইলের একটি অনুলিপি তৈরি হয় এবং তারপরে পরমাণুর সাথে নতুন কপির সাথে মূলটি প্রতিস্থাপন করা হয়। এটি সুরক্ষার কারণে করা হয়। আপনি --inplaceযা সন্ধান করছেন তা হ'ল বিকল্পটি, যা rsyncউত্সের সাথে সম্পর্কিত পরিবর্তিত গন্তব্য ফাইলের কেবলমাত্র অংশগুলি পরিবর্তন করতে পারে।

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

আপনার ডাউনলোড ডিরেক্টরিকে গন্তব্যের ভলিউমটিতে খুব কম অনুলিপি করতে, আমি এই ফ্ল্যাগ এবং ক্রিয়াকলাপটিকে এই ক্রমে সুপারিশ করছি:

rsync --ignore-existing -vxaHAXS /source /destination
rsync --inplace -vxaHAX /source /destination

প্রথম পাসটি গন্তব্যে খুব কম নতুন ফাইলের অনুলিপি করবে দ্বিতীয় পাসটি বিদ্যমান ফাইলগুলিকে স্থানে আপডেট করবে, কেবলমাত্র পরিবর্তনগুলি অনুলিপি করবে

যেহেতু এটি স্পারস এবং ইন-প্লেস ডেল্টা অনুলিপিগুলি করছে, আপনি অতিরিক্ত অতিরিক্ত আইও ব্যয় না করে বারবার এটি চালাতে পারেন। এমনকি যদি আপনার এক সাথে 20 টি টরেন্ট চলমান থাকে তবে এটি গন্তব্যটিতে লেখাগুলি প্রশস্ত করবে না বা উত্স / গন্তব্যগুলিকে ছিন্ন করবে।


এখানে "বিরল" বলতে আপনার কী অর্থ, উইল? আমি যতদূর বলতে পারি এটি শব্দটির আসল অর্থ প্রতিফলিত করে না।
জুলিয়াস

@ জুলিয়াস: এর অর্থ হ'ল তার অর্থ - স্পার্স বরাদ্দের সম্পূর্ণ ফাইল সহ ফাইলগুলি অনুলিপি করুন, উদাহরণস্বরূপ আপনার 40 গিগাবাইট এইচডিআর চলচ্চিত্রগুলি উত্সের চেয়ে গন্তব্যে আর কোনও স্থান গ্রহণ করবে না। ভার্চুয়ালবক্স ডিস্ক চিত্রের সাথে একই। যেমনটি বলা হয়েছে যে ওপিতে এটি কাজ করার জন্য প্রাক-বরাদ্দকে অক্ষম করতে হবে।
উইল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.