অসম্পূর্ণ উত্স ফাইলগুলি অপসারণ থেকে rsync রাখুন


169

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

$ rsync --remove-source-files speed:/var/crawldir .

তবে আমি আশঙ্কা করছি যে আরএসইএনসি এমন একটি উত্স ফাইল লিঙ্কমুক্ত করবে যা এখনও ডাউনলোড শেষ হয়নি। (আমি উত্স কোডটি দেখেছি এবং এর থেকে রক্ষা করার কোনও কিছুই আমি দেখতে পাইনি)) কোনও পরামর্শ?

উত্তর:


10

আমার কাছে মনে হচ্ছে সমস্যাটি স্থানান্তরিত হচ্ছে কোনও ফাইল শেষ হওয়ার আগেই এটি নয় যে আপনি এটি মুছে ফেলছেন।

যদি এটি লিনাক্স হয় তবে প্রক্রিয়া A দ্বারা কোনও ফাইল খোলা সম্ভব এবং প্রক্রিয়া বি ফাইলটিকে লিঙ্কমুক্ত করতে পারে। কোনও ত্রুটি নেই, তবে অবশ্যই এ এর ​​সময় নষ্ট করছে। সুতরাং, আরএসসিএনসি উত্স ফাইলটি মুছে ফেলার বিষয়টি কোনও সমস্যা নয়।

সমস্যাটি হল আরএসসিএনসি উত্স ফাইলটি অনুলিপি করার পরেই মুছে ফেলা হয় এবং এটি এখনও ডিস্কে লেখা থাকলে আপনার একটি আংশিক ফাইল থাকবে।

এটি সম্পর্কে: massরিমোট ফাইল সিস্টেম হিসাবে মাউন্ট (এনএফএস কাজ করবে) speed। তারপরে কেবল ফাইলগুলি সরাসরি ওয়েব-ক্রল করুন।


9

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


3

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


3

যদি ক্রলিং প্রক্রিয়াটির উপরে আপনার নিয়ন্ত্রণ থাকে বা এর পূর্বাভাসযোগ্য আউটপুট থাকে তবে উপরের সমাধানগুলি (শেষ না হওয়া পর্যন্ত একটি টেম্প্লেলে সংরক্ষণ করা, তারপর ডাউনলোড-ডাউনলোডের জায়গায় mv'ing করা বা '। ডাউনলোডিং' ধরণের নাম দিয়ে ফাইল উপেক্ষা করে) কাজ করতেও পারে. যদি এগুলি সবই আপনার নিয়ন্ত্রণের বাইরে থাকে তবে আপনি নিশ্চিত করতে পারেন যে 'lsof $ filename' করে এবং ফলাফল আছে কিনা তা পরীক্ষা করে কোনও প্রক্রিয়া দ্বারা ফাইলটি খোলেনি। স্পষ্টতই যদি কারও কাছে ফাইল না থাকে তবে এটিকে সরানো নিরাপদ।

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