কীভাবে `rsync` থেকে` scp` পার্থক্য করে?


241

ঘোস্ট ব্লগিং সেট আপ সম্পর্কে একটি নিবন্ধ scpআমার স্থানীয় মেশিন থেকে একটি রিমোট সার্ভারে অনুলিপি করতে ব্যবহার করতে বলেছেন :

scp -r ghost-0.3 root@*your-server-ip*:~/

তবে, রেলকাস্ট 339: শেফ সলো বেসিকগুলিscp বিপরীত দিকে অনুলিপি করতে ব্যবহার করে (রিমোট সার্ভার থেকে লোকাল মেশিনে):

scp -r root@178.xxx.xxx.xxx:/var/chef .

একই রেলকাস্টে, যখন লেখক দূরবর্তী সার্ভারে ফাইলগুলি অনুলিপি করতে চান (প্রথম উদাহরণের মতো একই দিক), তিনি ব্যবহার করেন rsync:

rsync -r . root@178.xxx.xxx.xxx:/var/chef

rsyncকমান্ডটি কেন ব্যবহার করবেন যদি scpউভয় দিকেই অনুলিপি করবেন? কীভাবে scpআলাদা rsync?


সহজ এবং সর্বদা এনক্রিপ্ট করা বাদে, "আরএসসিএনএএএএ" এর চেয়ে স্ক্রিপ আরও ভাল কিছু করতে পারে এমন কোনও জিনিসই কেউ দেখায়নি। আমি "rsync -aAX --delet উত্সের গন্তব্য" পছন্দ করি। দ্বিমুখী সিঙ্কের জন্য চেকআউট বিএনসিঙ্ক।
তোমাচি

উত্তর:


345

এই সরঞ্জামগুলির মধ্যে প্রধান পার্থক্য হ'ল তারা কীভাবে ফাইলগুলি অনুলিপি করে।

scpমূলত উত্স ফাইলটি পড়ে এবং গন্তব্যে লেখেন। এটি স্থানীয়ভাবে বা কোনও নেটওয়ার্কের মাধ্যমে একটি সরল রৈখিক অনুলিপি সম্পাদন করে।

rsyncস্থানীয়ভাবে বা কোনও নেটওয়ার্কের মাধ্যমেও ফাইলগুলি অনুলিপি করে। তবে এটি অপারেশনটিকে আরও দ্রুততর করার জন্য একটি বিশেষ ব-দ্বীপ স্থানান্তর অ্যালগরিদম এবং কয়েকটি অপ্টিমাইজেশন নিয়োগ করে । কল বিবেচনা করুন।

rsync A host:B
  • rsync এবং বি উভয়ের ফাইলের আকার এবং সংশোধন টাইমস্ট্যাম্পগুলি পরীক্ষা করে দেখবে এবং যদি তারা মেলে তবে আর কোনও প্রক্রিয়াজাতকরণ এড়িয়ে যাবে।

  • গন্তব্য ফাইল বি ইতিমধ্যে বিদ্যমান থাকলে, ডেল্টা ট্রান্সফার অ্যালগরিদম নিশ্চিত করবে যে কেবলমাত্র A এবং B এর মধ্যে পার্থক্য কেবল তারের মাধ্যমে প্রেরণ করা হয়েছে।

  • rsyncএকটি অস্থায়ী ফাইল টিতে ডেটা লিখবে এবং তারপরে বি ব্যবহার করা হতে পারে এমন প্রক্রিয়াগুলিতে আপডেটটিকে "পারমাণবিক" দেখানোর জন্য গন্তব্য ফাইল বিটিকে টি দিয়ে প্রতিস্থাপন করবে ।

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

সংক্ষেপে, scpআপনার প্রতিদিনের কাজের জন্য ব্যবহার করুন। আপনার ইন্টারেক্টিভ শেলটিতে আপনি একবারে টাইপ করেছেন এমন আদেশগুলি। এটি ব্যবহার করা সহজ, এবং এই ক্ষেত্রে rsyncঅপ্টিমাইজেশানগুলি খুব বেশি সাহায্য করবে না।

চাকরির মতো পুনরাবৃত্ত কাজের cronজন্য rsync। যেমনটি উল্লেখ করা হয়েছে, একাধিক অনুরোধে এটি ইতিমধ্যে স্থানান্তরিত ডেটার সুবিধা গ্রহণ করবে, খুব দ্রুত সম্পাদন করবে এবং সংস্থানগুলিতে সঞ্চয় করবে। একটি ডিরেক্টরিতে দুটি ডিরেক্টরি সিঙ্ক্রোনাইজ করা একটি দুর্দান্ত সরঞ্জাম।

এছাড়াও, বড় ফাইলগুলির rsyncসাথে কাজ করার সময়, -Pবিকল্পটি ব্যবহার করুন । যদি স্থানান্তর বাধাগ্রস্ত হয়, আপনি আদেশটি পুনরায় চালু করে যেখানে এটি থামিয়ে দিয়েছিলেন তা আবার চালু করতে পারেন। সিড ক্ষত্রিয়ের উত্তর দেখুন


14
আপনি আপনার প্রতিদিন কাজের জন্য scp ব্যবহার করতে বলেছিলেন। আপনার ব্যাখ্যা এবং ওপি থেকে, এটি প্রদর্শিত হবে যে দুটি বিকল্পের জন্য ইন্টারফেস বিকল্প ছাড়াই ব্যবহৃত হয় ident যদি rsync এর উচ্চতর বাস্তবায়ন থাকে এবং ইন্টারফেসগুলি একই হয় তবে সর্বদা আরএসসিএন ব্যবহার করবেন না কেন?
অ্যালেক্স

5
তাদের ইন্টারফেসটি বিকল্প নয়, এমনকি একই নয়। Rsync উত্স আর্গুমেন্টে একটি পিছনের স্ল্যাশের বিশেষ ব্যাখ্যা রয়েছে (ডিরেক্টরিটি এর সামগ্রীতে বনাম নিজেই সিঙ্ক্রোনাইজ করে)। এটিতে অন্য গোটাচাও থাকতে পারে, আমি নিশ্চিত নই।
রাফা

2
এছাড়াও, আমি অনুমান করব যে scpইউনিক্স-এর মতো সিস্টেমে উপলব্ধ হওয়ার সম্ভাবনা বেশি, সুতরাং আপনি এখন থেকে বিরক্তিকর "কমান্ড না পাওয়া" রোধ করেন।
রাফা 21

2
@ এরিকবি 85 আরএসএনসি-তে রয়েছে-পি পতাকা যা একটি অগ্রগতি বার প্রদর্শন করবে এবং আংশিকভাবে সম্পন্ন স্থানান্তর থেকে পুনরায় শুরু করতে সক্ষম হবে। ডিজিটালসোশন / কম্যুনিটি / টিউটোরিয়ালস /
বেন

1
মধ্যে আরেকটি ইন্টারফেস পার্থক্য scpএবং rsync: rsync -aবনাম scp -rpপরিমার্জন বার ও অনুমতি সংরক্ষণে।
রাফা

71

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

ব্যবহার rsync -vP username@host:/path/to/file .

-P বিকল্পটি আংশিক ডাউনলোড করা ফাইল সংরক্ষণ করে এবং অগ্রগতিও দেখায়।

যথারীতি চেক man rsync


32

বিভিন্ন প্যারামিটারে পার্থক্য বি / ডাব্লু স্কেপ এবং আরএসসিএনসি

1. বিলম্বিতা উপর কর্মক্ষমতা

  • scp : scp অপেক্ষাকৃত কম অপ্টিমাইজ এবং গতি

  • rsync : আরএসআইএনসি তুলনামূলকভাবে আরও অনুকূলিতকরণ এবং গতি

https://www.disk91.com/2014/technology/networks/compare-performance-of-different-file-transfer-protocol-over-latency/

2. বাধা হ্যান্ডলিং

  • scp : scp কমান্ড লাইন সরঞ্জাম হারিয়ে যাওয়া নেটওয়ার্ক সংযোগগুলি থেকে বাতিল হওয়া ডাউনলোডগুলি আবার শুরু করতে পারে না

  • rsync: উপরের আরএসসিএনসির সেশনটি যদি নিজেই বাধা হয়ে যায়, আপনি একই কমান্ডটি টাইপ করে এটি যতবার ইচ্ছা পুনরায় চালু করতে পারেন। আরএসআইএনসি স্বয়ংক্রিয়ভাবে স্থানান্তরটি পুনরায় আরম্ভ করবে যেখানে এটি ছেড়ে গেছে।

http://ask.xmodulo.com/resume-large-scp-file-transfer-linux.html

কমান্ড উদাহরণ

scp কমান্ড

$ scp source_file_path destination_file_path

rsync

$ cd /path/to/directory/of/partially_downloaded_file
$ rsync -P --rsh=ssh userid@remotehost.com:bigdata.tgz ./bigdata.tgz 

-Pবিকল্প হিসাবে একই --partial --progressআংশিকভাবে ডাউনলোড করা ফাইল সঙ্গে কাজ করার rsync অনুমতি দেয়। --rsh=sshবিকল্প একটি দূরবর্তী শেল হিসাবে ব্যবহারের SSH করার rsync বলে।

4. সুরক্ষা:

scp আরও সুরক্ষিত। rsync --rsh=sshএটিকে স্কেপির মতো নিরাপদ করতে আপনাকে ব্যবহার করতে হবে।

আরও জানতে ম্যান ডকুমেন্ট:

কর্মক্ষমতা চার্ট


এই নতুন উত্তরের জন্য ধন্যবাদ, বিশেষত সুরক্ষা অংশের জন্য।
zhihong

অনেক সিস্টেমে ssh ডিফল্টরূপে ব্যবহৃত হয়। serverfault.com/questions/378939/do-you-need-e-ssh-for-rsync
qwr

2
সুরক্ষা সম্পর্কে, ওপেনএসএসএইচ ৮.০ রিলিজ নোট থেকে : The scp protocol is outdated, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.
ডাউনটিহরড করুন

6

rsyncওভারের একটি প্রধান বৈশিষ্ট্য scp(ডেল্টা অ্যালগরিদমের পাশে এবং ডাব্লু / এসএসএস ব্যবহৃত হলে এনক্রিপশন) হ'ল স্থানান্তরিত ফাইলটি সঠিকভাবে স্থানান্তর করা হয়েছে কিনা তা স্বয়ংক্রিয়ভাবে যাচাই করে। Scp এটি করবে না, যার ফলে মাঝেমধ্যে বড় ফাইলগুলি স্থানান্তর করার সময় দুর্নীতি হতে পারে। সুতরাং সাধারণভাবে rsync হল গ্যারান্টি সহ একটি অনুলিপি

সেন্টো ম্যানাপেজগুলি --checksumবিকল্প বর্ণনার শেষের বিষয়টি উল্লেখ করে :

নোট করুন যে আরএসসিএনসি সর্বদা যাচাই করে যে ফাইলটি স্থানান্তরিত হওয়ার সাথে সাথে তৈরি হওয়া পুরো-ফাইল চেকসামটি যাচাই করে প্রতিটি স্থানান্তরিত ফাইল সঠিকভাবে পুনর্নির্মাণ করা হয়েছিল, তবে স্থানান্তর-পরবর্তী যাচাইকরণের আগে এই বিকল্পটির আগে-কোনও সম্পর্ক নেই- দ্য ট্রান্সফার "এই ফাইলটি আপডেট করার দরকার আছে কি?" চেক করুন।


5

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

সুরক্ষা ছাড়াও, এনক্রিপশনটি আপনার স্থানান্তর গতির পাশাপাশি সিপিইউ ওভারহেডেও একটি বড় প্রভাব ফেলে। (আমার অভিজ্ঞতাটি rsyncএটির তুলনায় দ্রুততর হতে পারে scp))

কখন এনক্রিপশন রয়েছে তার জন্য এই পোস্টটি দেখুনrsync


1

একটি ফাইলের জন্য scp সবচেয়ে ভাল ।
বাtar ছোট সংস্থার ( যেমন চিত্রগুলি, স্ক্লাইট ইত্যাদি ) সাথে উত্স কোড ট্রি যেমন ছোট ডেটা সেটগুলির জন্য এবং সংক্ষেপণের সংমিশ্রণ ।


তবুও , আপনি যখন বড় আকারের সাথে ডিল শুরু করেন তখন বলুন:

  • মিডিয়া ফোল্ডার (40 গিগাবাইট)
  • ডাটাবেস ব্যাকআপ (28 গিগাবাইট)
  • এমপি 3 লাইব্রেরি (100 গিগাবাইট)

এটা একটা গড়ে তুলতে অকার্যকর হয়ে জিপ / tar.gz সঙ্গে স্থানান্তর করতে ফাইল scp কমান্ড এই সময়ে কি শারীরিক হোস্ট সার্ভারের সীমা।

অনুশীলন হিসাবে, আপনি কিছু জিমন্যাস্টিকস যেমন পাইপিং tarকরতে sshএবং ফলাফলগুলিকে একটি দূরবর্তী ফাইলে পুনর্নির্দেশের মতো করতে পারেন । (অদলবদল বা অস্থায়ী ক্লোন ওরফে জিপ বা টার.gz তৈরির প্রয়োজনীয়তা সংরক্ষণ করা )

তবে ,

আরএসআইএনসি এই প্রক্রিয়াটিকে সহজ করে তোলে এবং কোনও অতিরিক্ত ডিস্কের জায়গা না খেয়ে আপনাকে ডেটা স্থানান্তর করতে দেয় ।

এছাড়াও ,

অবিচ্ছিন্ন (ক্রোন?) আপডেটগুলি সর্বনিম্ন পরিবর্তনগুলি বনাম সম্পূর্ণ ক্লোনযুক্ত অনুলিপি ব্যবহার করে সময়ের সাথে সাথে বড় ডেটা মাইগ্রেশনের গতি বাড়ায়।

tl; dr
scp == ছোট স্কেল (একই ড্রাইভে
rsyncসংক্ষেপিত ফাইলগুলি তৈরির জন্য ঘর সহ) == বড় স্কেল (বড় ডেটা ব্যাকআপ নেওয়ার প্রয়োজনীয়তা সহ এবং কোনও ঘর বাকি নেই)


-1

ব্যবহারিক প্রসঙ্গে চিন্তা করা ভাল। আমাদের দলে, আমরা rsync -aPআমাদের ক্লাস্টারে খারাপ ক্যাসান্দ্রার হোস্টকে প্রতিস্থাপন করতে ব্যবহার করি । আমরা এটি scp (ধীর এবং কোনও অগ্রগতি সংরক্ষণের) মাধ্যমে করতে পারি না।


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

1
@ ড্যানকর্নিলেস্কু এটি বাস্তব পরিস্থিতিতে একটি ব্যবহারের ক্ষেত্রে বর্ণনা করে যা অন্যদের পক্ষে পার্থক্যটি বোঝা সহজ করে তোলে। আমি অন্য কোনও অনুরূপ উত্তর দেখতে পাচ্ছি না
দেল বাও

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