একবারে স্কিপ হয়ে গেলে আমার কি ফাইল দুর্নীতি পরীক্ষা করার দরকার আছে?


17

scpকমান্ডটি ব্যবহার করে আমি পুনরাবৃত্তভাবে অনেকগুলি ফাইল এবং ফোল্ডার স্থানান্তর করেছি :

scp -rp /source/folder myremoteusername@122.10.12.123:/destination/folder

স্থানান্তর সম্পন্ন হওয়ার পরে, আমার কি কোনও ফাইলের কোনও দুর্নীতি ছাড়াই স্থানান্তরিত হয়েছে কিনা তা খতিয়ে দেখার দরকার আছে, বা scpএটি যত্ন নেওয়ার দরকার নেই (যেমন ফাইলের কোনওটি সঠিকভাবে স্থানান্তরিত না হলে কিছু ত্রুটি বার্তা প্রদর্শন করে)?


আপনি যদি থেকে scpএকটি শূন্য-বহির্গমন স্থিতি না পেয়ে এবং স্ট্যাডারের সাথে তত্ক্ষণাত ত্রুটি বার্তা না পান তবে এটি সবকিছু সঠিকভাবে এবং সম্পূর্ণভাবে অনুলিপি করবে।
রোয়াইমা

আমার পোস্টে একটু টিএল; ড: rsyncআপনি যদি পারেন তবে ব্যবহার করুন । লেনদেন শেষ হওয়ার পরে এটি প্রতিটি ফাইলের জন্য অনুলিপি বৈধতা দেয়, তাই এটি কেবলমাত্র আরও নিরাপদ হিসাবে ব্যবহার করা ভাল ধারণা।
পোলেমন

উত্তর:


24

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

তবে আপনাকে এটি নিশ্চিত করতে হবে যে scpএটি আপনাকে বলছে না যে কিছু ভুল হয়েছে। একটি ত্রুটি বার্তা থাকা উচিত, তবে নির্ভরযোগ্য সূচকটি হ'লscp যদি কিছু ভুল হয়ে যায় তবে একটি ননজারো প্রস্থান কোড ফেরত দেয়।

আরও স্পষ্টতই, আপনি জানেন যে ফাইলটি scp0 (যেমন সাফল্যের স্থিতি কোড) প্রদান করে সঠিকভাবে প্রেরণ করা হয়েছিল । আপনি যে কোনও কমান্ড চালানোর সময় প্রস্থান স্থিতি 0 রয়েছে কিনা তা পরীক্ষা করা প্রয়োজন। যদি scpকোনও ত্রুটির স্থিতি ফিরে আসে, বা যদি এটি কোনও সিগন্যালের মাধ্যমে মারা যায়, বা যদি এটি কখনও মারা না যায় কারণ সিস্টেমটি ক্র্যাশ হয় বা চলমান অবস্থায় শক্তি হারিয়ে ফেলে তবে আপনার কোনও গ্যারান্টি নেই। বিশেষত, যেহেতুscp ফাইলটি সরাসরি তার চূড়ান্ত নামের সাথে অনুলিপি করে, এর অর্থ হ'ল কোনও সিস্টেম ক্র্যাশ হলে আপনি আংশিক ফাইলটি শেষ করতে পারেন। যে অংশটি অনুলিপি করা হয়েছিল তা সঠিক হওয়ার গ্যারান্টিযুক্ত তবে ফাইলটি কেটে যেতে পারে।

আরও নির্ভরযোগ্যতার জন্য, scp এর পরিবর্তে rsync ব্যবহার করুন। অন্যথায় নির্দেশ না দিলে, আরএসসিএনসি একটি অস্থায়ী ফাইলে লেখেন এবং এটি শেষ হয়ে গেলে এটি জায়গায় স্থানান্তরিত করে। সুতরাং, যদি rsync একটি সাফল্য কোড দেয়, আপনি জানবেন যে ফাইলটি উপস্থিত এবং একটি সঠিক, সম্পূর্ণ অনুলিপি; যদি rsync ত্রুটি কোডটি না ফেরায় তবে কোনও ফাইল উপস্থিত থাকবে না (যদি না ফাইলটির পুরানো সংস্করণ না থাকে, তবে সেই ক্ষেত্রে পুরানো সংস্করণটি সংশোধিত হবে না)।


3

আমার scpকিছু হওয়ার পরে দুর্নীতির সাথে আমার কখনও সমস্যা হয়নি তবে আপনি যদি এটি নিয়ে উদ্বিগ্ন হন তবে সর্বদা md5sum <filename>উভয় সিস্টেমে একইরকম তা নিশ্চিত করতে চালাতে পারেন ।


3

@ ডেভিড-কিং এর পরামর্শ অনুসারে, md5স্থানান্তরের পরে ফাইলগুলির অখণ্ডতা যাচাই করার জন্য এটি একটি ভিত্তিক সমাধান। নিম্নলিখিত কমান্ডটি সঞ্চালন একবার পর cdথেকে ing /source/folderপর স্থানীয় মেশিনে এবং একবার cdকরতে ing /destination/folderদূরবর্তী হোস্ট করুন:find . -type f -print0 | xargs -0 -I {} md5sum {} | md5sum। সফল স্থানান্তরের পরে ফলাফল হ্যাশটি অভিন্ন হওয়া উচিত।

হালনাগাদ: সার্ভারফল্টে অনুরূপ প্রশ্নের এই উত্তর অনুসারে , scpফাইল অখণ্ডতার গ্যারান্টি দেয় না( বিশদে দয়া করে এই উত্তরটি @ গিলস দ্বারা পরীক্ষা করুন)। ফাইল হ্যাশগুলির পোস্ট-ট্রান্সফার চেকিংয়ের বিকল্প হিসাবে আপনি ফাইল rsyncস্থানান্তর করতে এবং এর রিটার্ন কোডটি পরীক্ষা করতে পারেন ।

আপডেট 2: স্থানান্তরের পরে ফাইলগুলি এবং তার সাথে সম্পর্কিত মাপগুলি কেবল মিলিত হলে নিম্নলিখিতগুলি নিম্নলিখিতটি পরীক্ষা করে:find . -type f -print0 | xargs -0 -I {} stat --printf="%n %s\n" {} | sort | md5sum


2
Scp কমান্ড ফেরৎ যদি 0, তারপর সততা হয় নিশ্চিত। তদ্ব্যতীত, যদি scp 0 না ফেরায়, তবে সমস্যাটি জেনারিক দুর্নীতি নয় বরং বিশেষভাবে কাটা; ফাইলের আকার যাচাই করা যথেষ্ট (যদি না ইতিমধ্যে টার্গেট ফাইলটির পুরানো সংস্করণ না থাকে: যদি স্কিপি খুব তাড়াতাড়ি বাধা দেওয়া হত তবে পুরানো সংস্করণটি উপস্থিত থাকতে পারে)। এখানে চেকসাম যাচাই করা সময়ের অপচয়।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

ফেয়ার। আমি আমার উত্তর আপডেট।
মণি এম

আপনি মৌলিক ত্রুটিগুলি ঠিক করেন নি। scpএর রিটার্ন কোড চেক করা যথেষ্ট, এবং হ্যাশগুলি পরীক্ষা করা অকেজো।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

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