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


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

আমার বোঝার নিম্নরূপ:

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

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

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

তাই, আমি কি ভাবছি তা হল:

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

75
2017-12-09 20:15


উত্স




উত্তর:


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

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

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

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

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

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


83
2017-12-09 23:41



আমি পেয়েছি --checksum সঙ্গে বরাবর দরকারী --itemize-changes ব্যাকআপ যাচাই করার জন্য। বর্তমান এবং দৈনিক আপডেটগুলি সম্পূর্ণ হওয়ার পরে আমার বারবার স্ক্রিপ্টগুলি সম্পূর্ণভাবে এইভাবে তুলনা করে। আমি জরুরী চিহ্নিত একটি ইমেইল ড্রপ পেতে হলে --itemize-changes আউটপুট কিছু অপ্রত্যাশিত, তাই আমি একটি সম্ভাব্য সমস্যা আমি দেখতে উচিত জানি। - David Spillett
গিটে কাজ করার সময় --checksum দরকারী এবং পরিবর্তিত ফাইলগুলির সাথে শাখাগুলির মধ্যে স্যুইচিং, যা কোনও নির্দিষ্ট শাখা থেকে প্রেরণ করতে ইচ্ছুক নয় এমন আপডেট ফাইলগুলির আপডেট সময় পরিবর্তন করে। - FriendlyDev
--ignore-times এবং বিশেষ করে --checksum আপনার "ফাইল" একটি Truecrypt ফাইল ধারক যদি ডিফল্টরূপে ফাইলের টাইমস্ট্যাম্প আপডেট না হয় তবে এটি প্রয়োজনীয় নয়। দেখ productforums.google.com/forum/#!topic/drive/gnmDp3UXEgs এবং ask-leo.com/why_wont_my_truecrypt_volume_backup.html - Marcus Junius Brutus
নোট: আমি একটি দ্রুত পরীক্ষা করেছি, এবং সিটাই তুলনা করা হয়, শুধুমাত্র mtime। ম্যাক, অন্তত। এই জানতে দরকারী হতে পারে। এজন্য উইন্ডোজ ফাইল সিস্টেমগুলির সাথে আমার অনেক সমস্যা রয়েছে, যা এটাইম, মাইটাইম এবং সিটাইমের জন্য একই সময় (সিটাইম) রিপোর্ট করে। - Edward Falk
কি --checksum শুধুমাত্র গন্তব্য মেশিনে গন্তব্য ডিরেক্টরি বা গন্তব্য ডিরেক্টরির মধ্যে সব ফাইল চেকসাম? - Greg


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


13
2017-07-24 08:37





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

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


4
2018-06-03 14:43





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


2
2017-12-09 20:34



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


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

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

জন্য --ignore-times:

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

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

ভাল প্রশ্ন - আপনি অনুশীলনে কোনো কর্মক্ষমতা পার্থক্য খুঁজে যদি পোস্ট করুন।


2
2017-12-09 22:22



আমি বুঝছি তুমি কি বলতে চাও. আমি কিছু পরীক্ষা চালানো এবং ফিরে পোস্ট করব। - Andy Madge