এসএসএইচ এর মাধ্যমে অনেকগুলি ফাইল রয়েছে এমন ফোল্ডারটি অনুলিপি করার দ্রুততম উপায়


13

Ssh এর মাধ্যমে সার্ভারে ফাইলগুলি নকল করার সর্বোত্তম উপায় কী?

আমার ক্ষেত্রে: আমি ম্যাজেন্টো শপটিকে নকল করার কথা বলছি। (15000 ফাইল ~ 50MB)

cp -a source destination

ঘন্টা নিচ্ছে ... (আমার ক্ষেত্রে সার্ভারটি ২.৪ শিওন, ২ জিবি র‌্যাম)

উত্তর:


19

এক শব্দ: rsync

মনে রাখবেন যে আপনি যদি ধীর লিঙ্কে আছেন বা সার্ভারটি ভারী বোঝার মধ্যে রয়েছে তবে অনুলিপি করার জন্য ব্যবহৃত সরঞ্জামটি কোনও বাধা হয়ে দাঁড়াবে না এবং অনুলিপি করার কোনও উপায় যেভাবেই হোক ধীর হয়ে যাবে।

এটি আপনাকে আপনার স্থানীয় কম্পিউটার এবং রিমোট সার্ভারের মধ্যে অনুলিপি করার জন্য প্রাথমিক ব্যবহারটি দেয়: http://oreilly.com/pub/h/38

স্থানীয় কম্পিউটার থেকে কোনও দূরবর্তী সার্ভারে অনুলিপি করতে (অবশ্যই আপনাকে অবশ্যই পাথ, ব্যবহারকারীর নাম এবং হোস্টের ঠিকানা প্রতিস্থাপন করতে হবে):

rsync -avz -e ssh /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
  • -a সংরক্ষণাগার
  • -v বাগাড়ম্বরপূর্ণ
  • -z কম্প্রেস
  • -e ssh "একটি এসএসএইচ টানেল ব্যবহার করুন"

অন্যান্য দিক কপি করার জন্য পাথ পরিবর্তিত হয়ে যায় (প্রথম থেকে , দ্বিতীয় থেকে ):

rsync -avz -e ssh remoteuser@remotehost.somewhere.example.com:/path/on/server /path/on/local/computer

তবে একই সার্ভারে আশেপাশের জিনিসগুলি অনুলিপি করার জন্যও rsync কার্যকর:

rsync -av /path-to/copy/from /path_to/copy/to

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

@ টমলোগিক: ভাল কথা - অন্য কথায়, -zল্যান অনুলিপি বা একটি মেশিনের মধ্যে অনুলিপি করার জন্য ব্যবহার করবেন না ; -zইন্টারনেট জুড়ে অনুলিপি সহ বা তার বাইরে পরীক্ষা করুন (অনেক কিছুর উপর নির্ভর করে এক বা অন্যটি দ্রুত হতে পারে)।
পিসকভোর 16'12

1
আপনি যদি জানেন যে আপনার ফাইলগুলি ইতিমধ্যে সংকুচিত হয়েছে তবে আমি কোনও কম্প্রেশন ছেড়ে চলে যাব, যেমন জেপিইগিতে পূর্ণ একটি ফোল্ডার ট্রি সিঙ্ক করার কারণ কোনও লাভের কিছুই নেই।
লাইন বিরতি

দ্রষ্টব্য: -e sshদূরবর্তী হোস্টগুলির জন্য এখন ডিফল্ট, সুতরাং বিকল্পটি স্পষ্টভাবে পাস করার প্রয়োজন নেই।
পিসকভর

3

অন্য পৃথিবী: scp

scp /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server

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

আমি জানতাম যে rsync এর সংকোচনের ( -z) ছিল এবং আমি শিখেছি যে স্ক্রিপটিও ( -C) করে।


ওয়েল, আইআইআরসি তারা উভয়ই এসএসএইচের সংক্ষেপণ অ্যালগরিদমগুলি ব্যবহার করছে, কমপক্ষে নেটওয়ার্কের জন্য অপসেস for
পিসকভোর 16'12

0

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

বা আরও ভাল, যদি কোনও সুরক্ষার প্রয়োজন হয় না, তবে টার এবং এনসি ব্যবহার করুন:

গন্তব্যে, একটি গ্রহণকারী ডেমন প্রস্তুত করুন, সঙ্কুচিত করুন এবং আনতার করুন:

nc -l -p 12345 | pigz -d | tar xvf - 

উত্স অনুসারে, সমস্ত কিছুকে সমান্তরালভাবে সংকুচিত করুন এবং এটিকে গন্তব্যে প্রেরণ করুন:

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