আপনি যখন ফাইলটি অনুলিপি করছেন তখন তা সংশোধন করা হলে কী হবে?


19

লোকেশন বি থেকে লোকেশনসি-তে ফাইলএ.বিগ (900 এমবি) বলুন কোনও ফাইল অনুলিপি করার কী প্রভাব রয়েছে। যদি এই সিপি অপারেশন চলাকালীন, প্রক্রিয়াটির মাধ্যমে 35% বলুন, fileA.big নতুন তথ্য যুক্ত করা হয় এবং 900mb থেকে 930mb পর্যন্ত বৃদ্ধি পায়।

শেষের অনুলিপিটির ফলাফল কী হবে (উদাহরণস্বরূপ fileA.big এ লোকেশনসি)?

যদি অনুলিপিটি প্রায় 70% হয়ে থাকে এবং মূল ফাইলটি আপডেট হয়ে যায় তবে এবার 400 এমবিতে কেটে গেছে (অর্থাত অনুলিপিটির অগ্রগতি কাটা কাটা পয়েন্টের বাইরে), শেষের অনুলিপিটির ফলাফল কী?

একটি ext3 / ext4 ফাইল সিস্টেমে একটি লিনাক্স ওএস উল্লেখ করে। কোনও ভলিউম শেডো ম্যাজিক ইত্যাদি নেই Just ব্যাকআপের জন্য লাইভ কাউচডিবি ফাইলগুলি অনুলিপি করে কৌতূহল ছড়িয়ে পড়ে তবে নির্দিষ্ট ব্যবহারের ক্ষেত্রে না থেকে সাধারণ পরিস্থিতিতে বেশি আগ্রহী।


এই জিজ্ঞাসা করার জন্য ধন্যবাদ। আমার 'জ্ঞান' বেশিরভাগ অনুমান ছিল ... এখন অবধি।
tshepang

উত্তর:


10

যদি fileA.bigঅনুলিপি চলাকালীন বড় হয় তবে অনুলিপিটিতে সংযুক্ত ডেটা অন্তর্ভুক্ত থাকবে।

ফাইলটি যদি অনুলিপিটি বর্তমানে অনুলিপি করা হয় যেখানে কপিটি বর্তমানে রয়েছে তার চেয়ে কম, কপিটি ঠিক যেখানে সেখানে রয়েছে এবং গন্তব্য ফাইলটিতে এটি বাতিল হওয়ার সময় অবধি অনুলিপি করা হবে।


27

প্যাট্রিকের কম-বেশি সঠিক রয়েছে তবে এটি এখানে। আপনি ইউনিক্সের অধীনে কোনও ফাইল অনুলিপি করার উপায় এইভাবে কাজ করে:

  1. কিছু (আরও) বাইট পড়ার চেষ্টা করুন fileA
  2. যদি আমরা বাইটস পেতে ব্যর্থ হয়ে থাকি কারণ আমরা ফাইলটির শেষের দিকে (বা অতীত) হয়েছি, আমরা শেষ করেছি; ত্যাগ করুন।
  3. অন্যথায়, বাইটগুলি লিখুন fileBএবং পদক্ষেপ 1 এ ফিরে লুপ করুন।

এটি জানা এবং এটি এতটা সহজ হিসাবে জানা, আমাদের কয়েকটি কর্নার কেস দেখতে দিন।

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

যদি ফাইলটি কেটে ফেলা হয় তবে অনুলিপি প্রোগ্রামটি বলছে "ওহ, আমি ফাইলটির শেষের দিক দিয়ে এসেছি!" এবং প্রস্থান।

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

(এটি বলেছিল, আমি কাউচডিবি-র সাথে পরিচিত নই, এবং এই ধরণের দুর্নীতির বিরুদ্ধে প্রতিরোধী হওয়ার জন্য একটি ডাটাবেস ডিজাইন করা সম্ভব But তবে সম্পূর্ণ নিশ্চিত হওয়া ভাল))


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

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

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