Ssh এর উপর Rsync, বা অন্য কিছু?


10

আমি ওএসএক্স থেকে লিনাক্স বা ইউনিক্স বাক্সে আরএসসিএনসি ব্যবহার করার চেষ্টা করছি যার উপর আমার খুব বেশি নিয়ন্ত্রণ নেই। আমি এই জাতীয় কিছু করছি

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/ 

ত্রুটি ফিরে এসেছে:

bash: rsync: কমান্ডটি আরএসসিএনকে পাওয়া যায় নি: সংযোগটি অপ্রত্যাশিতভাবে বন্ধ হয়ে গেছে (0 টি বাইট এখনও অবধি পাওয়া গেছে) [রিসিভার] আরএসএনসি ত্রুটি: রিমোট কমান্ড (কোড 127) পাওয়া যায়নি / সোর্সক্যাশ / আরসিএনসি / আরসিএনকো -3.3/rsync/io.c(452 ) [প্রাপক = 2.6.9]

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

  1. আমি কি রিমোট হোস্টে একটি RSSync সার্ভার ইনস্টল করব?
  2. বিনামূল্যে বিকল্পগুলি - জিইউআই বা নন-জিইউআই - যার জন্য দূরবর্তী হোস্টে কোনও কিছু ইনস্টল করার প্রয়োজন নেই ?

ধন্যবাদ!


1
আপনার বর্তমান কমান্ডটি নিয়ে সঠিক সমস্যাগুলি কী?
ফিদেলি

@ ফিদেলি, দুঃখিত, এটি সম্পর্কে ভুলে গেছি। এখনই সম্পাদনা প্রশ্ন
ড্যান রোজনস্টার্ক

1
এই প্রশ্নের জন্য ধন্যবাদ, তবে আপনি কি এটি ট্যাগ করতে পারেন rsync?
অ্যান্ড্রু গ্রিম

উত্তর:


21

আপনার সার্ভারে একটি rsync কমান্ড দরকার, তবে আপনাকে ডিমন চালানোর দরকার নেই।

একটি rsync বাইনারি যে সার্ভারে কাজ, এটা আপনার বাড়িতে কোথাও করা, এবং আপনার কমান্ড লাইন করতে এই ফ্ল্যাগ যোগ পান: --rsync-path=/home/user/path/to/rsync

আপনি যদি সার্ভারগুলিতে আরএসসিএনপি অনুলিপি করতে না চান তবে আপনি স্কেপ, বা এসএসএফএস ব্যবহার করতে পারেন।

sshfs user@host ~/sync/user-host
rsync -av ~/local-dir ~/sync/user-host/remote-dir

সেক্ষেত্রে rsync সম্পূর্ণ স্থানীয়ভাবে চলবে তবে পরিবর্তনগুলি সার্ভারে প্রচার করা হবে।


আমি সেই সমাধানটি অনেক পছন্দ করি, বিশেষত কারণ সার্ভারটি GoDaddy- তে একটি সস্তার হোস্টিং পরিকল্পনা এবং আমি সন্দেহ করি যে আমি সার্ভারে rsync চালাতে সক্ষম হব। এখন জন্য +1!
ড্যান রোজনস্টার্ক

ওএসএক্সে এসএসএফএস ইনস্টল করার সবচেয়ে সহজ রুট কী? ম্যাকফিউজ নাকি এর চেয়ে সহজ কিছু আছে?
ড্যান রোজনস্টার্ক

ম্যাকফিউজ + (ম্যাকফিউশন বা এসএসএফএস-স্ট্যাটিক-চিতাবাঘ), আমি মনে করি (আমি কোনও ওএসএক্স ব্যবহারকারী নই)
টুবু

হ্যাঁ ম্যাকফিউজ এটি করে। Sshfs বাইনারি জন্য ডাউনলোড পৃষ্ঠাটি আপনাকে .gz এক্সটেনশন সহ বাইনারি দেয়। সুতরাং আপনি এটি বন্দুকিছু'র পরিবর্তে নামকরণ করতে হবে। বিরক্তিকর তবে ঠিক আছে এখন! ধন্যবাদ
ড্যান রোজনস্টার্ক

6

আপনার রিমোট হোস্টে আরএসইএনসি থাকা দরকার - অগত্যা কোনও আরএসসিএন সার্ভার নয় (যা আমি বিশ্বাস করি যে কোনওভাবেই এসএসএল সংযোগটি পরিচালনা করবে না), তবে স্থানীয় বাক্সে আরএসসিএনকে দূরবর্তী বাক্সে একটি আরএসএনসি-র সাথে কথা বলা দরকার। আপনি দুটি সংযোগ করতে ssh ব্যবহার করছেন।

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

  • --rsync-path = বিকল্পটি ব্যবহার করা হচ্ছে
  • আপনার দূরবর্তী ssh শেলের জন্য ডিফল্ট PATH পরিবর্তন করা হচ্ছে
  • দূরবর্তী এসএসএস শেলের মধ্যে আরএসইএনসি-র জন্য একটি উপনাম যুক্ত করা হচ্ছে
  • এক্সিকিউটেড রিমোট কমান্ডটি সম্পূর্ণরূপে rsync এ পরিবর্তন করে

বা অনুরূপ কিছু। যদি এক্সিকিউটেবল (ভাইস সার্ভার) হিসাবে rsync দূরবর্তী হোস্টে উপস্থিত না থাকে তবে এটি যুক্ত করতে হবে।


এটি সহায়ক ছিল, সুতরাং +1, তবে আমি যদি ভাবছি যে ম্যাক থেকে পিসিতে এটির মতো চালাচ্ছি তবে উইন্ডোজ সাইডে আরএসএনসি-র জন্য সূচনা ডিরেক্টরিটি কীভাবে নির্দিষ্ট করা যায়: সুপারউজার.com
রায়ান

1

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

আপনি যদি এসএসএফএস বা কোনও নেটওয়ার্ক মাউন্ট ব্যবহার করেন তবে এটি কেবলমাত্র লুকিয়ে রয়েছে যে স্থানীয়ভাবে চেকসামগুলি গণনা করার জন্য এটি দূরবর্তী হোস্ট থেকে পুরো ডেটাसेटটি নেটওয়ার্ক জুড়ে অনুলিপি করতে হবে এবং তারপরে পার্থক্যগুলি সঞ্চারিত করতে পারে। স্থানীয়ভাবে সমস্ত কিছু মুছে ফেলা এবং 'স্কিপ -আর' লট করা দ্রুত এবং সস্তায় হবে che


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

0

এসসিপি চেষ্টা করুন । আপনার যেমন ইতিমধ্যে এসএসএস অ্যাক্সেস পেয়েছে আপনার দূরবর্তী হোস্টে অন্য কিছু ইনস্টল করার দরকার নেই :)

দূরবর্তী হোস্ট থেকে লোকালহোস্ট ব্যবহারের জন্য ফাইলগুলি অনুলিপি করতে:

# scp -R remoteuser@remotehost:/remote/dir /this/dir/ 

বা এর সাথে স্থানীয় কাস্টম থেকে দূরবর্তী হোস্টে ফাইলগুলি অনুলিপি করুন:

# scp -R /this/dir remoteuser@remotehost:/remote/dir 

1
ধন্যবাদ লি, এসসিপি দুর্দান্ত তবে এটি "সিঙ্ক" করে না?
ড্যান রোজনস্টার্ক

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