--Checksum এবং --ignore- সময় বিকল্পগুলির মধ্যে Rsync পার্থক্য


95

যে কেউ মধ্যে পার্থক্য শোধন করতে পারেন --checksumএবং --ignore-timesrsync এর অপশন?

আমার বোঝার বিষয়টি নিম্নরূপ:

--checksum
যদি ফাইলের আকার এবং সময় মিলে যায় তবে এটি উভয় প্রান্তে একটি চেকসাম করবে ফাইলগুলি সত্যই অভিন্ন কিনা তা দেখতে।

--ignore-times
উভয় প্রান্তে ফাইলের সময় একই কিনা তা নির্বিশেষে প্রতিটি ফাইলকে 'স্থানান্তর' করুন। যেহেতু এটি এখনও ব-দ্বীপ-স্থানান্তর অ্যালগরিদম ব্যবহার করবে, যদি কোনও ফাইল আসলে অভিন্ন হয় তবে কিছুই স্থানান্তরিত হয় না।

এটি প্রযুক্তিগত পার্থক্য, তবে যতদূর আমি বলতে পারি, তারা শব্দার্থত একই জিনিস।

সুতরাং, আমি যা ভাবছি তা হ'ল:

  • দুটি বিকল্পের মধ্যে ব্যবহারিক পার্থক্য কী?
  • কোন ক্ষেত্রে আপনি অন্যটির চেয়ে একটি ব্যবহার করবেন?
  • তাদের মধ্যে কোন পারফরম্যান্স পার্থক্য আছে?

উত্তর:


99

সাধারণত, rsyncউত্স এবং গন্তব্য পক্ষের ফাইলগুলিতে অভিন্ন মাপ এবং সময় থাকলে ফাইলগুলি এড়িয়ে যায়। এটি হিউরিস্টিক যা সাধারণত একটি ভাল ধারণা, কারণ এটি rsyncউত্স এবং গন্তব্য পক্ষের পক্ষে খুব সম্ভবত অভিন্ন ফাইলগুলির বিষয়বস্তুগুলি পরীক্ষা করতে বাধা দেয় ।

--ignore-timesrsyncফাইল-টাইম-ও-মাপের উত্তরাধিকারী ফাইলটি বন্ধ করতে বলে , এবং এইভাবে নিঃশর্তভাবে সমস্ত ফাইল উত্স থেকে গন্তব্যে স্থানান্তর করে। rsyncতারপরে উত্সের প্রতিটি ফাইল পড়তে এগিয়ে যাবে, যেহেতু এটির বদ্বীপ-স্থানান্তর অ্যালগরিদমটি ব্যবহার করা প্রয়োজন হবে বা --whole-fileবিকল্পটি নির্দিষ্ট করা হয়েছে কিনা তার উপর নির্ভর করে কেবল প্রতিটি ফাইলকে সম্পূর্ণরূপে প্রেরণ করতে হবে ।

--checksumফাইল-বার-ও মাপের Heuristic পরিবর্তন করে তবে এখানে এটি সময়কে উপেক্ষা করে এবং কেবলমাত্র আকারগুলি পরীক্ষা করে। আকারে পৃথক হওয়া উত্স এবং গন্তব্য পক্ষের ফাইলগুলি স্থানান্তরিত হয়, যেহেতু সেগুলি স্পষ্টতই আলাদা। একই আকারের ফাইলগুলি rsyncচেকসামড করা হয় ( 3.0.0+ সংস্করণে MD5 সহ, বা পূর্ববর্তী সংস্করণগুলিতে MD4 সহ) এবং পৃথক পৃথক পরিমাণে পাওয়া যায় এমন ফাইলগুলিও স্থানান্তরিত হয়।

উত্স এবং গন্তব্য পক্ষগুলি বেশিরভাগ ক্ষেত্রে একই ক্ষেত্রে, --checksumফলস্বরূপ বেশিরভাগ ফাইল উভয় পক্ষেই চেকসাম করা হবে। এটি দীর্ঘ সময় নিতে পারে, তবে ফলাফলটি হ'ল সবচেয়ে বিরল ন্যূনতম ডেটা আসলে তারের উপর দিয়ে স্থানান্তরিত হবে, বিশেষত যদি ব-দ্বীপ-স্থানান্তর অ্যালগরিদম ব্যবহার করা হয়। অবশ্যই আপনার কাছে খুব ধীর নেটওয়ার্ক এবং এবং বা খুব দ্রুত সিপিইউ থাকলে এটি কেবল একটি জয়।

--ignore-timesঅন্যদিকে, নেটওয়ার্কের মাধ্যমে আরও ডেটা প্রেরণ করবে এবং এটি সমস্ত উত্স ফাইলগুলি পড়ার কারণ হবে, তবে কমপক্ষে এটি উত্স এবং গন্তব্য সিপিইউগুলিতে অনেকগুলি ক্রিপ্টোগ্রাফিকভাবে শক্তিশালী হ্যাশসামগুলি গণনার অতিরিক্ত বোঝা চাপায় না। --checksumআপনার নেটওয়ার্কগুলি দ্রুত এবং / বা আপনার সিপিইউ তুলনামূলকভাবে ধীর গতির চেয়ে এই বিকল্পটি আরও ভাল পারফরম্যান্সের প্রত্যাশা করব ।

আমি মনে করি আমি কেবল কখনও ব্যবহার করব --checksumবা --ignore-timesযদি আমি এমন কোনও গন্তব্যগুলিতে ফাইল স্থানান্তর করতাম যেখানে সন্দেহ হয় যে কয়েকটি ফাইলের বিষয়বস্তু দূষিত হয়েছিল, তবে যার পরিবর্তনের সময়গুলি পরিবর্তন করা হয়নি। উভয় বিকল্প ব্যবহার করার জন্য আমি অন্য কোনও ভাল কারণ সম্পর্কে সত্যিই ভাবতে পারি না, যদিও সম্ভবত অন্যান্য ব্যবহারের ক্ষেত্রেও রয়েছে।


12
ব্যাকআপ যাচাইয়ের জন্য আমি --checksumপাশাপাশি দরকারী পেয়েছি --itemize-changes। বর্তমান প্রতিদিন / সাপ্তাহিক আপডেটগুলি সম্পূর্ণ হওয়ার পরে আমার ব্যাকআপ স্ক্রিপ্টগুলি এইভাবে পুরোপুরি তুলনা করে। --itemize-changesঅপ্রত্যাশিত কোনও কিছুর আউটপুট আউট দিলে আমি জরুরি ভিত্তিতে একটি ইমেল ফেলেছি, তাই আমি জানি যে আমার একটি সম্ভাব্য সমস্যা দেখা উচিত।
ডেভিড স্পিললেট

10
গিটে কাজ করার সময় এবং পরিবর্তিত ফাইলগুলির সাথে শাখাগুলির মধ্যে স্যুইচ করার সময় --checksum কার্যকর হয়, যা আপনি কোনও নির্দিষ্ট শাখা থেকে প্রেরণ করতে চান না এমন ফাইলগুলিতে আপডেটের সময় পরিবর্তন করে চলেছে।
ফ্রেন্ডলিডেভ

6
--ignore-timesএবং বিশেষত --checksumপ্রয়োজনীয় যদি আপনার কোনও "ফাইল" ট্রুক্রিপ্ট ফাইল ধারক হয় কারণ ডিফল্টরূপে ফাইলটির টাইমস্ট্যাম্প আপডেট হয় না। Productforums.google.com/forum/#!topic/drive/gnmDp3UXEgs দেখুন এবং জিজ্ঞাসা
মার্কাস জুনিয়াস ব্রুটাস

দ্রষ্টব্য: আমি একটি দ্রুত পরীক্ষা করেছিলাম, এবং সিটিটাইমের তুলনা করা হয় না, কেবলমাত্র এমটাইম। ম্যাক এ, কমপক্ষে। এটি জানতে দরকারী হতে পারে। এ কারণেই আমার উইন্ডোজ ফাইল সিস্টেমগুলির সাথে অনেকগুলি সমস্যা রয়েছে, যা একই সময়, সিটাইম (টাইম), টাইম, এমটাইম এবং সিটাইমের জন্য প্রতিবেদন করে।
এডওয়ার্ড ফালক

--checksumগন্তব্য মেশিনে বা গন্তব্য ডিরেক্টরিতে থাকা সমস্ত ফাইলের মধ্যে কি চেকসাম কেবল উত্স ফাইলের নাম?
গ্রেগ

16

চেকসাম এছাড়াও দরকারী যদি আপনি ফাইলগুলি সিঙ্ক করতে অন্য সিস্টেম ব্যবহার করে থাকেন যা টাইমস্ট্যাম্পগুলি সংরক্ষণ করে না। চেকসাম কেবলমাত্র আলাদা ফাইলগুলিকে ট্রান্সফার করবে এবং প্রাপ্তির শেষে সমস্ত টাইমস্ট্যাম্পগুলি আপডেট করবে যাতে তারা মিলবে


4

একটি বিশদ: চেকসাম বিকল্পটি একটি প্রান্তে পুরো ফাইলটি পরীক্ষা করে, তারপরে অন্য প্রান্তে পুরো ফাইলটি। যদি আপনার ফাইলগুলি কিছুটা বড় হয় তবে এই ধরণের সমান্তরালতাটিকে হত্যা করে।

এছাড়াও, যদি আপনার কাছে বিশাল ফাইল থাকে তবে আপনি সম্ভবত সময়সামগ্রী নিয়ে চলে যাবেন --checksum, যেমনটি আপনি করেননি -I


2

থেকে info rsyncশুভেচ্ছা --checksumবিকল্প - "যেহেতু সংযোগ উভয় পক্ষের সমস্ত ফাইল এই পুরো ফাইল checksumming স্বয়ংক্রিয় চেকসাম যাচাইকরণ করে একটি ফাইলের স্থানান্তর সময় ঘটে ছাড়াও ঘটে, এই অপশনটি বেশ ধীর হতে পারে।"


1
এই বাক্যটি আমার পুরুষ পৃষ্ঠাগুলিতে মনে হচ্ছে না ... সুতরাং, এর অর্থ কি এই বোঝা যায় যে চেকসাম বিকল্পটি চেকসামগুলি ফাইলগুলি অভিন্ন কিনা তা সনাক্ত করতে ব্যবহার করবে এবং যদি তা না হয় তবে এটি স্থানান্তরিত হবে, এভাবে আবার চেকসাম তৈরি করা হবে স্থানান্তর অংশ? --Ignore-times বিকল্পগুলি কেবল চেকটি এড়িয়ে যায় এবং ধরে নেওয়া যায় যে তারা পরিবর্তন করেছে? সুতরাং কর্মক্ষমতা অনুযায়ী --ignore বার একই জিনিস অর্জনের একটি ভাল উপায়? কেন এখনও 2 টি পৃথক বিকল্প রয়েছে তা দেখার জন্য আমি লড়াই করে যাচ্ছি (
অ্যান্ডি ম্যাজ

আপনার সর্বশেষতম ডকুমেন্টেশন সম্পাদনার দিকে নজর দেওয়া উচিত: gitweb.samba.org/…
আলেকসান্দ্র লেভুকুক

2

--ignore-timesবিকল্প সম্ভবত সব ফাইল ব-দ্বীপ এনকোড এবং ব-দ্বীপ স্থানান্তর আলগোরিদিম (ব-দ্বীপ এনকোডিং) পরিণাম ডেকে আনবে checksumming যেমন অন্তত যেমন ধীর।

আমি জানি না যে --ignore-timesযখন ডেল্টা-ট্রান্সফারের ফলে কোনও কিছুই স্থানান্তরিত হবে না তখন ঘন ঘন ক্ষেত্রে "ট্রান্সফার পরবর্তী স্থানান্তর যাচাইকরণ" এড়াতে আরএসসিএনসি যথেষ্ট স্মার্ট কিনা ।

এর জন্য --ignore-times:

  • যদি rsync স্মার্ট না হয় (বা ডেল্টা এনকোডিংয়ের উপর নির্ভর করে না) তবে চেকিং (চেকসামিং এবং এনকোডিং) দু'বার করা হবে।
  • এটি ক্ষেত্রেও হতে পারে যে ডেল্টা এনকোডিং 128-বিট MD4 চেকসামিংয়ের চেয়ে অনেক ধীর।

উভয় --checksumএবং --ignore-times"বেশ ধীর" হবে তবে --ignore-timesসম্ভবত এটি আরও ধীর হবে (উপরের 2 টি সম্ভাবনার কারণে)।

ভাল প্রশ্ন - অনুশীলনে কোনও পারফরম্যান্সের পার্থক্য খুঁজে পেলে পোস্ট করুন।


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