ফাইল কপি করার জন্য rsync কিভাবে ব্যবহার করবেন

How Use Rsync Copy Files



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

এই নিবন্ধে, আমরা ব্যাখ্যা করব কিভাবে কিছু ব্যবহারিক উদাহরণ সহ ফাইলগুলি অনুলিপি করতে rsync ব্যবহার করতে হয়। আমরা স্থানীয় এবং দূরবর্তী উভয় সিস্টেমে একটি একক ফাইল, একাধিক ফাইল এবং ডিরেক্টরি কপি করার ক্ষেত্রে rsync এর ব্যবহার ব্যাখ্যা করব। আমরা কীভাবে Rsync ব্যবহার করব তা কভার করব:







  • স্থানীয় সিস্টেমের মধ্যে ফাইল/ডিরেক্টরি কপি করুন
  • স্থানীয়/দূরবর্তী সিস্টেমে ফাইল/ডিরেক্টরি অনুলিপি করুন
  • রিমোট সিস্টেম থেকে লোকাল এ ফাইল/ডিরেক্টরি কপি করুন

আমরা উবুন্টু 20.04 এলটিএস -এ এই নিবন্ধে উল্লিখিত কমান্ড এবং পদ্ধতি ব্যাখ্যা করেছি। Rsync ব্যবহার করে ফাইল কপি করার জন্য আপনার কমান্ড-লাইন টার্মিনালের প্রয়োজন হবে। কমান্ড লাইন টার্মিনাল অ্যাপ্লিকেশন খুলতে, Ctrl+Alt+T কীবোর্ড শর্টকাট ব্যবহার করুন।



Rsync ইনস্টল করা হচ্ছে

Rsync উবুন্টু 20.04 LTS- এ প্রাক-ইনস্টল করা আছে। যাইহোক, যদি এটি দুর্ঘটনাক্রমে সিস্টেম থেকে সরানো হয়, আপনি এটি নিম্নরূপ ইনস্টল করতে পারেন:



$sudoউপযুক্তইনস্টলrsync

এখানে কিছু সাধারণভাবে ব্যবহৃত বিকল্প যা rsync এর সাথে ব্যবহার করা যেতে পারে:





–A: আর্কাইভ মোড
–V: অনুলিপি প্রক্রিয়ার বিবরণ দেখায়
–P: অগ্রগতি বার দেখায়
–R: তথ্য পুনরাবৃত্তিভাবে অনুলিপি করে
–Z: তথ্য সংকুচিত করে
–Q: আউটপুট দমন করুন

স্থানীয়ভাবে ফাইল এবং ডিরেক্টরি কপি করুন

Rsync এর সাধারণ সিনট্যাক্স হল:



$rsync[বিকল্প] [সূত্র] [গন্তব্য]

স্থানীয়ভাবে একটি একক ফাইল অনুলিপি করুন

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

উদাহরণস্বরূপ, বর্তমান অবস্থান থেকে একটি একক ফাইল file1.txt কপি করতে যা হোম ডিরেক্টরি ~/ডকুমেন্টস ডিরেক্টরিতে, কমান্ডটি হবে:

$rsync/বাড়ি/বিশ্বাস/file1.txt/বাড়ি/বিশ্বাস/দলিল

দ্রষ্টব্য: /home/tin/file1.txt এর পরিবর্তে, আমরা ফাইল 1 টাইপ করতে পারি কারণ আমরা বর্তমানে হোম ডিরেক্টরিতে কাজ করছি। এছাড়াও, আমরা সম্পূর্ণ পথকে/home/tin/Documents হিসেবে উল্লেখ না করে use/Documents ব্যবহার করতে পারি।

স্থানীয়ভাবে একাধিক ফাইল কপি করুন

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

উদাহরণস্বরূপ, হোম ডিরেক্টরি থেকে 2/ডকুমেন্টস ডিরেক্টরিতে file2.txt এবং file3.txt ফাইল কপি করার জন্য, কমান্ডটি হবে:

$rsync/বাড়ি/বিশ্বাস/file2.txt/বাড়ি/বিশ্বাস/file3.txt/বাড়ি/বিশ্বাস/দলিল

একই এক্সটেনশান সহ সমস্ত ফাইল অনুলিপি করতে, আপনি পৃথকভাবে ফাইলের নাম নির্দিষ্ট করার পরিবর্তে তারকাচিহ্ন (*) চিহ্ন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, z/ডকুমেন্টস ডিরেক্টরিতে .zip এক্সটেনশন দিয়ে শেষ হওয়া হোম ডিরেক্টরি থেকে সমস্ত ফাইল অনুলিপি করতে, আমরা ব্যবহার করব:

$rsync/বাড়ি/বিশ্বাস/ *.zip ~/দলিল

স্থানীয়ভাবে ডিরেক্টরি কপি করুন

আপনি যদি আপনার সিস্টেমের মধ্যে একটি ডিরেক্টরিকে তার সাব-ডিরেক্টরি এবং সমস্ত বিষয়বস্তু এক স্থান থেকে অন্য স্থানে অনুলিপি করতে চান তবে আপনি টাইপ করে এটি করতে পারেন rsync উৎস এবং গন্তব্য ডিরেক্টরি দ্বারা অনুসরণ করা হয়।

উদাহরণস্বরূপ, হোম ডিরেক্টরিতে নমুনা ডিরেক্টরিটি পরীক্ষা/ ডিরেক্টরিতে অনুলিপি করার জন্য, কমান্ডটি হবে:

$rsync-অফ /বাড়ি/বিশ্বাস/নমুনা/বাড়ি/বিশ্বাস/পরীক্ষা

দ্রষ্টব্য: সোর্স ডাইরেক্টরির উল্লেখ / পরে শুধুমাত্র ডিরেক্টরির বিষয়বস্তু কপি করে। যদি আমরা সোর্স ডাইরেক্টরি /এর পরে নির্দিষ্ট না করি, তাহলে সোর্স ডিরেক্টরিটি গন্তব্য ডিরেক্টরিতেও অনুলিপি করা হবে।

নিম্নলিখিত আউটপুটের মতো, আপনি দেখতে পারেন যে আমাদের উৎস ডিরেক্টরি নমুনাটি গন্তব্য ডিরেক্টরিতেও অনুলিপি করা হয়েছে (যেহেতু আমরা নমুনা/ সোর্স ডিরেক্টরি হিসাবে নমুনা ব্যবহার করেছি)।

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

সর্বোচ্চ আকারের উপর ভিত্তি করে ফাইলগুলি অনুলিপি করুন

অনুলিপি করার সময়, আমরা সর্বাধিক আকারের ফাইলগুলিও নির্দিষ্ট করতে পারি যা –max-size বিকল্পের সাথে অনুলিপি করা যায়। উদাহরণস্বরূপ, k/ডাউনলোড থেকে ~/ডকুমেন্টস ডিরেক্টরিতে 2000k এর চেয়ে বড় ফাইলগুলি অনুলিপি করতে, কমান্ডটি হবে:

$rsync-প্রতি -সর্বোচ্চ আকার= 2000k/বাড়ি/বিশ্বাস/ডাউনলোড/ * /বাড়ি/বিশ্বাস/দলিল

এই কমান্ডটি k/ডাউনলোড থেকে ~/ডকুমেন্টস ডিরেক্টরিতে সমস্ত ফাইল অনুলিপি করবে 2000k এর চেয়ে বড় ফাইল ছাড়া।

সর্বনিম্ন আকারের উপর ভিত্তি করে ফাইলগুলি অনুলিপি করুন

একইভাবে, আমরা সর্বনিম্ন আকারের ফাইলগুলিও নির্দিষ্ট করতে পারি যা –min-size বিকল্পের সাথে অনুলিপি করা যায়। উদাহরণস্বরূপ, M/ডাউনলোড থেকে ~/ডকুমেন্টস ডিরেক্টরিতে 5M এর কম নয় এমন ফাইলগুলি অনুলিপি করতে, কমান্ডটি হবে:

$rsync-প্রতি -মিনি-সাইজ= 5 মি/বাড়ি/বিশ্বাস/ডাউনলোড/ /বাড়ি/বিশ্বাস/দলিল

এই কমান্ডটি M/ডাউনলোড থেকে ~/ডকুমেন্টস ডিরেক্টরিতে সমস্ত ফাইল অনুলিপি করবে 5M এর চেয়ে কম ফাইল ছাড়া।

ফাইল বাদ দিন

ফাইলগুলি একটি ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে অনুলিপি করার সময়, আপনি filesexclude বিকল্পটি ব্যবহার করে ফাইলের নাম বা ফাইল টাইপের এক্সটেনশন ব্যবহার করে কিছু ফাইল বাদ দিতে পারেন।

উদাহরণস্বরূপ,।/ডাউনলোড থেকে ~/ডকুমেন্টস ডিরেক্টরিতে ফাইলগুলি অনুলিপি করার সময় সমস্ত .zip ফাইলগুলি বাদ দিতে, কমান্ডটি হবে:

$rsync-প্রতি -বাদ দিন='*.zip' /বাড়ি/বিশ্বাস/ডাউনলোড/ /বাড়ি/বিশ্বাস/দলিল

ফাইল এবং ডিরেক্টরিগুলি দূর থেকে অনুলিপি করুন

Rsync এর সাহায্যে আপনি একটি একক ফাইল, একাধিক ফাইল এবং ডিরেক্টরিগুলি দূরবর্তী সিস্টেমে অনুলিপি করতে পারেন। দূর থেকে ফাইল এবং ডিরেক্টরি কপি করার জন্য, আপনার প্রয়োজন হবে:

  • Rsync স্থানীয় এবং দূরবর্তী উভয় সিস্টেমে ইনস্টল করা আছে
  • দূরবর্তী সিস্টেমে SSH অ্যাক্সেস
  • দূরবর্তী ব্যবহারকারীর পাসওয়ার্ড

Rsync ব্যবহার করে ফাইল কপি করার আগে, নিশ্চিত করুন যে আপনি SSH এর মাধ্যমে দূরবর্তী সিস্টেমটি অ্যাক্সেস করতে পারেন:

$sshদূরবর্তী_ ব্যবহারকারীদূরবর্তী_আইপি


Rsync ব্যবহার করে দূরবর্তী সিস্টেমে ফাইল এবং ডিরেক্টরি কপি করার জন্য সাধারণ সিনট্যাক্স:

$rsync[বিকল্প] [সূত্র] [দূরবর্তী ব্যবহারকারীদূরবর্তী স্থান: গন্তব্য]

উদাহরণস্বরূপ, single/ডাউনলোড থেকে রিমোট সিস্টেম ~/ডকুমেন্টস ডিরেক্টরিতে একটি একক ফাইল file.txt অনুলিপি করতে, কমান্ডটি হবে:

$rsync-ভি~/ডাউনলোড/file1.txt উমারা192.168.72.164:~/দলিল

একইভাবে, system/ডাউনলোড/ফাইল ডিরেক্টরিটি একটি স্থানীয় সিস্টেমে তার সাব-ডিরেক্টরি এবং সমস্ত বিষয়বস্তু remote/ডাউনলোড/নমুনা ডিরেক্টরিতে রিমোট সিস্টেমে অনুলিপি করতে:

$rsync-আরভি~/ডাউনলোড/ফাইলগুলি উমরা192.168.72.164:~/ডাউনলোড/নমুনা

আপনি দূরবর্তী মেশিন থেকে আপনার স্থানীয় মেশিনে ফাইল এবং ডিরেক্টরিগুলি অনুলিপি করতে পারেন। উদাহরণস্বরূপ, দূরবর্তী সিস্টেম থেকে স্থানীয় সিস্টেম ডেস্কটপে একটি file2.txt অনুলিপি করতে:

$rsync-ভিউমারা192.168.72.164:~/ডাউনলোড/file2.txt/ডেস্কটপ/

একইভাবে, দূরবর্তী সিস্টেম থেকে স্থানীয় সিস্টেমে একটি ডিরেক্টরি অনুলিপি করা

$rsync-আরভিউমারা192.168.72.164:~/ডাউনলোড/নমুনা/ডেস্কটপ/পরীক্ষা

আপনি দূরবর্তী সিস্টেমে ফাইলগুলি অনুলিপি করার সময় –max-size, –min-size, xexclude এবং অন্যান্যগুলির মতো সমস্ত বিকল্প ব্যবহার করতে পারেন।

Rsync হল স্থানীয়ভাবে বা দূরবর্তীভাবে উৎস থেকে গন্তব্যস্থলে ফাইলগুলি অনুলিপি করার জন্য একটি দুর্দান্ত সরঞ্জাম। এটি একটি বড় বিকল্প অন্তর্ভুক্ত করে যা আপনাকে রিমোট সিস্টেমে ফাইল স্থানান্তর করার সময় নমনীয়তা এবং নিয়ন্ত্রণ দেয়।