rsync দিয়ে ফাইল সিঙ্ক্রোনাইজেশন
rsync একটি শক্তিশালী এবং জনপ্রিয় কমান্ড-লাইন টুল যা ফাইল এবং ডিরেক্টরির সিঙ্ক্রোনাইজেশন বা বিকল্প কপি করার জন্য ব্যবহৃত হয়। এটি দ্রুত এবং দক্ষতার সাথে ফাইল স্থানান্তর করতে সাহায্য করে, বিশেষ করে যখন দুটি সিস্টেমের মধ্যে বড় বড় ডেটা স্থানান্তর করা প্রয়োজন। rsync ফাইলের পরিবর্তিত অংশ গুলোই কপি করে, তাই এটি কম ব্যান্ডউইথ ব্যবহার করে এবং সিস্টেমের দক্ষতা বৃদ্ধি করে।
rsync কমান্ডের মৌলিক গঠন
rsync [অপশন] source destinationsource: সিঙ্ক্রোনাইজ বা কপি করা ফাইল/ডিরেক্টরি।destination: ফাইল বা ডিরেক্টরি যেখানে ফাইল কপি হবে।
1. ফাইল সিঙ্ক্রোনাইজেশনের সাধারণ উদাহরণ
১.১: লোকাল ডিরেক্টরি থেকে লোকাল ডিরেকটরিতে ফাইল সিঙ্ক্রোনাইজ করা
rsync -av /path/to/source/ /path/to/destination/এটি source ডিরেক্টরি থেকে destination ডিরেক্টরিতে ফাইল এবং সাব-ডিরেক্টরি সিঙ্ক্রোনাইজ করবে। এখানে:
-a: আর্কাইভ মোড, যা রিকার্সিভ সিঙ্ক্রোনাইজেশন করে, ফাইলের মালিকানা, অনুমতি, টাইমস্ট্যাম্প ইত্যাদি সংরক্ষণ করে।-v:Verbose মোড, যা সিঙ্ক্রোনাইজেশনের সময় প্রতিটি ফাইলের নাম এবং স্থানান্তরের অগ্রগতি দেখায়।
১.২: শুধুমাত্র পরিবর্তিত বা নতুন ফাইল কপি করা
rsync -av --ignore-existing /path/to/source/ /path/to/destination/এটি source ডিরেক্টরি থেকে destination ডিরেক্টরিতে শুধুমাত্র নতুন বা পরিবর্তিত ফাইল কপি করবে, পুরানো ফাইলের কপি করবে না।
১.৩: ফাইলের আর্কাইভ তৈরির জন্য
rsync -av /path/to/source/ /path/to/backup/এটি source ডিরেক্টরি থেকে ফাইলের আর্কাইভ তৈরি করবে এবং backup ডিরেক্টরিতে কপি করবে।
2. রিমোট সিস্টেমের মধ্যে ফাইল সিঙ্ক্রোনাইজেশন
rsync দিয়ে আপনি দূরবর্তী সিস্টেমের মধ্যে ফাইল সিঙ্ক্রোনাইজ করতে পারেন, যেখানে SSH প্রোটোকল ব্যবহৃত হয়।
২.১: লোকাল সিস্টেম থেকে রিমোট সিস্টেমে ফাইল কপি করা
rsync -av /path/to/local/ user@remote:/path/to/remote/এটি আপনার লোকাল /path/to/local/ ডিরেক্টরি থেকে রিমোট সিস্টেমের /path/to/remote/ ডিরেক্টরিতে ফাইল কপি করবে।
২.২: রিমোট সিস্টেম থেকে লোকাল সিস্টেমে ফাইল কপি করা
rsync -av user@remote:/path/to/remote/ /path/to/local/এটি রিমোট সিস্টেমের /path/to/remote/ ডিরেক্টরি থেকে আপনার লোকাল সিস্টেমের /path/to/local/ ডিরেক্টরিতে ফাইল কপি করবে।
২.৩: রিমোট সিস্টেমে SSH এর মাধ্যমে সিঙ্ক্রোনাইজেশন
rsync -avz -e ssh /path/to/local/ user@remote:/path/to/remote/এটি -e ssh অপশন দিয়ে SSH প্রোটোকল ব্যবহার করে রিমোট সিস্টেমে ফাইল স্থানান্তর করবে এবং -z অপশনটি ফাইল স্থানান্তরের সময় কম্প্রেসন করতে সাহায্য করবে।
3. rsync এর বিভিন্ন অপশন
-a(archive): রিকার্সিভ সিঙ্ক্রোনাইজেশন, ফাইলের মালিকানা, অনুমতি, টাইমস্ট্যাম্প ইত্যাদি সংরক্ষণ।-v(verbose): সিঙ্ক্রোনাইজেশন প্রক্রিয়ার বিস্তারিত আউটপুট দেখানো।-z(compress): ফাইল স্থানান্তরের সময় ডেটা কম্প্রেসন করা, যা ব্যান্ডউইথ বাঁচায়।--delete: ডেস্টিনেশন ডিরেক্টরি থেকে অতিরিক্ত বা মুছে ফেলা ফাইলগুলো মুছে ফেলা।rsync -av --delete /path/to/source/ /path/to/destination/-n(dry-run): কমান্ডটি রান করার আগে পরিবর্তন বা ফাইল স্থানান্তরের প্রভাব দেখতে।rsync -avn /path/to/source/ /path/to/destination/
4. rsync এর ব্যবহারিক উদাহরণ
৪.১: শুধু নতুন বা পরিবর্তিত ফাইল সিঙ্ক্রোনাইজ করা
rsync -av --ignore-existing /path/to/source/ /path/to/destination/এটি শুধু নতুন বা পরিবর্তিত ফাইল destination ডিরেক্টরিতে স্থানান্তর করবে, পুরনো ফাইল কপি করবে না।
৪.২: আর্কাইভ তৈরি করার জন্য ফাইল সিঙ্ক্রোনাইজেশন
rsync -av /home/user/documents/ /mnt/backup/documents/এটি /home/user/documents/ ডিরেক্টরি থেকে /mnt/backup/documents/ ডিরেক্টরিতে ফাইল সিঙ্ক্রোনাইজ করবে।
৪.৩: rsync দিয়ে একাধিক ডিরেক্টরি সিঙ্ক্রোনাইজ করা
rsync -av /path/to/source1/ /path/to/source2/ /path/to/destination/এটি দুটি সোর্স ডিরেক্টরি থেকে /path/to/destination/ ডিরেক্টরিতে ফাইল সিঙ্ক্রোনাইজ করবে।
৪.৪: রিমোট সিস্টেমে ফাইল কপি এবং কম্প্রেসন
rsync -avz -e ssh /path/to/local/ user@remote:/path/to/remote/এটি রিমোট সিস্টেমে ফাইল স্থানান্তরের সময় ডেটা কম্প্রেসনও করবে, যাতে ব্যান্ডউইথ সাশ্রয় হয়।
সারসংক্ষেপ
rsync একটি অত্যন্ত শক্তিশালী এবং কার্যকর টুল যা ফাইল সিঙ্ক্রোনাইজেশন এবং স্থানান্তর করার জন্য ব্যবহৃত হয়। এটি বিশেষভাবে কার্যকর যখন আপনি একই বা বিভিন্ন সিস্টেমের মধ্যে বড় বড় ডেটা স্থানান্তর করতে চান, এবং এটি শুধুমাত্র পরিবর্তিত ফাইলগুলি কপি করে, যা ব্যান্ডউইথ এবং সময় সাশ্রয় করে। rsync কমান্ডের মাধ্যমে আপনি সহজেই স্থানীয় এবং রিমোট সিস্টেমে ফাইল সিঙ্ক্রোনাইজ করতে পারেন এবং প্রয়োজনীয় অপশন দিয়ে সিস্টেমের পারফরম্যান্স এবং কার্যকারিতা বৃদ্ধি করতে পারেন।
Read more