একটি সামান্য সিপিইউ এবং ব্যান্ডউইথ ব্যয় যতটা সম্ভব ব্যয়ের সাথে একটি বৃহত ফাইল আরএসএনসি করবেন?


13

আমার কাছে 500 জিবি ফাইল রয়েছে যা আমি দূরবর্তীভাবে ব্যাক আপ করার পরিকল্পনা করছি। ফাইলটি প্রায়শই পরিবর্তিত হয়। আমি এটি একটি ডেস্কটপ থেকে একটি সার্ভারে সংযুক্ত করব। উভয়ই rsync ক্লায়েন্ট বা সার্ভার চালাতে পারে।

এর জন্য সঠিক আদেশ কি? আমি সোফার চেষ্টা করেছি তারা চিরকালের জন্য গ্রহণ করেছে বা কেবল অদ্ভুত অভিনয় করেছে।

উদাহরণ এবং ফলাফল:

rsync -cv --partial --inplace --no-whole-file /desktop/file1 myserver.com::module/file1 

কাজ দেখে মনে হচ্ছে, তবে কেবল আমি যদি এটি দ্বিগুণ (?!) করি। এছাড়াও, ধীর।

উপরের কমান্ডটি উভয় কম্পিউটারে, বা কেবল প্রেরণকারীটিতেই চেকসামিং করছে? এটা অন্যথায় সঠিক?


একটি ফাইল যা বড় হয় যা প্রায়শই পরিবর্তন হয়? আপনি
আরএসএনসি-

অন্য কোন পরামর্শ? আমার কিছু অ্যাপ্লিকেশানের সাথে করণীয় হওয়া উচিত, ড্রপবক্সের মালিকানাধীন ক্লায়েন্টটি এটি খুব ভালভাবে করে। দেখুন forums.dropbox.com/topic.php?id=17631
জোহান Allgoth

--inplace ইঙ্গিত
রায় হুলহা

উত্তর:


12

এটি কখনই দ্রুত হতে পারে না, কারণ আরএসসিএনকে পুরো ফাইলটি পড়তে / চেকসাম করতে হবে এবং 500 জিবি পড়তে অনেক বেশি সময় লাগবে, যদি না আপনি এটি এসএসডি বা কোনও কিছুতে সঞ্চিত রাখেন।

ব্যবহার করে দেখুন rsync -vhz --partial --inplace <file/server stuff>

-cএর অর্থ এটি কোনও ফাইল স্থানান্তর করার আগে পুরো ফাইলটি চেকসাম করে তোলে, পরিবর্তিত হয়েছে কিনা তা দেখার জন্য টাইমস্ট্যাম্প ব্যবহার না করে, যার অর্থ পুরো ফাইলটি দু'বার পড়া। যদি টাইমস্ট্যাম্পটি পরিবর্তিত হচ্ছে না (এটি হওয়া উচিত), তবে আপনি touchRSSync চালানোর আগে কেবল ফাইলটি করতে পারতেন ।

যদি এটি স্ক্রিপ্ট না হয় তবে --progressআপনি যোগ করতে পারেন যাতে এটি চলতে চলতে কেমন চলছে তা দেখতে পারেন।


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

2
এছাড়াও --inplaceবোঝানো হয়েছে--partial

2

যদিও এটি আরএসসিএন নয়, আপনি যা করার চেষ্টা করছেন তার উপর নির্ভর করে আরও ভাল কাজ করতে পারে। আমি অনুরূপ ব্যাকআপ টাস্কটি করছিলাম এবং এটি অবশ্যই দ্রুত ছিল।

একটি মেশিন থেকে অন্য মেশিনে ট্যার পাইপ তৈরি করতে নেটক্যাট ব্যবহার করুন।

আপনার উত্স মেশিনে:

tar -cpv --atime-preserve=system . | nc -q 10 -l -p 45454

আপনি একটি টারবাল তৈরি করছেন যা অনুমতি এবং সময় সংরক্ষণ করে, তারপরে 45454 বন্দরে নেটক্যাটটিতে এটি পাইপ করে

আপনার ব্যাকআপ মেশিনে

nc -w 10 X.X.X.X 45454 | tar -xpv

X.X.X.X আপনার উত্স মেশিনের স্থানীয় আইপি ঠিকানা।

আমার জন্য, এটি ভাল কাজ করেছে। এটি rsync সহ ২-৩ এমবি / সেকেন্ডের বিপরীতে তারযুক্ত ল্যানের ওভার 25-30 এমবি / সেকেন্ডে চলেছিল। অসুবিধাটি হ'ল: এটি সিঙ্ক হয় না, এটি কেবল আপনার উত্সে রয়েছে তার একটি অনুলিপি তৈরি করে। আপনি যেমন বর্ণনা করছেন এমন ব্যাকআপের জন্য - একটি 500 গিগাবাইট ফাইল - এটি খুব ভালভাবে কাজ করতে পারে।

অনুমতিগুলির সমস্যা এড়াতে আপনাকে রুট হিসাবে এটি করতে হতে পারে, বা আপনি ভাগ্যবান হতে পারেন।

এফডব্লিউআইডাব্লু, আমি প্রাথমিকভাবে এখানে এটি সম্পর্কে জানতে পেরেছিলাম: http://www.screenage.de/blog/2007/12/30/used-netcat-and-tar-for-network-file-transfer/


1
tarrsyncআপনার কাছে স্থানান্তর করার জন্য অনেক ছোট ফাইল রয়েছে তার চেয়ে ভাল । ব্যবহার ncট্রান্সফার রেট এছাড়াও উন্নত যখন ফাস্ট সংযোগ, কারণ আপনি ssh-এনক্রিপশনের ওভারহেড (যা আমি একটি পিয়ার টু পিয়ার সংযোগ প্রয়োজন নেই) না থাকে
jornane

0

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

আরও তথ্যের জন্য https://gergap.wordpress.com/tag/rsync/ দেখুন ।

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