কীভাবে দুইটি অ্যাপাচি ওয়েব সার্ভার/ওয়েবসাইটগুলিকে Rsync ব্যবহার করে সিঙ্ক করবেন


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

Rsync দিয়ে আপনার ওয়েব সার্ভারের একটি আয়না তৈরি করার উদ্দেশ্যটি হল যদি আপনার প্রধান ওয়েব সার্ভার ব্যর্থ হয় তবে আপনার ব্যাকআপ সার্ভারটি আপনার ওয়েবসাইটের ডাউনটাইম হ্রাস করতে পারে। ওয়েব সার্ভারের ব্যাকআপ তৈরির এই উপায়টি ছোট এবং মাঝারি আকারের ওয়েব ব্যবসায়ের জন্য খুব ভাল এবং কার্যকর।

ওয়েব সার্ভারগুলি সিঙ্ক করার সুবিধা

আরএসআইএনসি দিয়ে ওয়েব সার্ভার ব্যাকআপ তৈরির মূল সুবিধাটি হ'ল:

  1. Rsync কেবলমাত্র সেই বাইটস এবং ডেটাগুলির ব্লকগুলি সিঙ্ক করে যা পরিবর্তিত হয়েছে
  2. রাইকিঙ্কের সেই ব্যাকআপ সার্ভারে সেই ফাইলগুলি এবং ডিরেক্টরিগুলি মুছে ফেলার ক্ষমতা রয়েছে যা মূল ওয়েব সার্ভার থেকে মুছে ফেলা হয়েছে
  3. এটি দূর থেকে ডেটা অনুলিপি করার সময় অনুমতি, মালিকানা এবং বিশেষ বৈশিষ্ট্যগুলির যত্ন নেয়।
  4. এটি এনক্রিপ্ট করা পদ্ধতিতে ডেটা স্থানান্তর করতে এসএসএইচ প্রোটোকলকেও সমর্থন করে যাতে আপনাকে নিশ্চিত করা হবে যে সমস্ত ডেটা নিরাপদ।
  5. Rsync ডেটা স্থানান্তর করার সময় সংক্ষেপণ এবং ডিকম্প্রেশন পদ্ধতি ব্যবহার করে যা কম ব্যান্ডউইথ গ্রহণ করে consu

কীভাবে দুটি অ্যাপাচি ওয়েব সার্ভার সিঙ্ক করবেন

আসুন আপনার ওয়েব সার্ভারের একটি আয়না তৈরি করতে আরএসইএনসি সেট আপ করার সাথে এগিয়ে চলুন। এখানে, আমি দুটি সার্ভার ব্যবহার করব।

  1. আইপি ঠিকানা: 192.168.0.100
  2. হোস্টনাম: webserver.example.com

  1. আইপি ঠিকানা: 192.168.0.101
  2. হোস্টনাম: ব্যাকআপ.এক্স্পেল.কম

এখানে এক্ষেত্রে ওয়েবসারভার.সেম্পেল ডটকমের ওয়েব সার্ভার ডেটা ব্যাকআপ.এক্স্পেল.কম.এতে মিরর করা হবে। এবং প্রথমে এটি করার জন্য, নিম্নলিখিত কমান্ডের সাহায্যে আমাদের উভয় সার্ভারে Rsync ইনস্টল করতে হবে।

 yum install rsync        [On Red Hat based systems]
 apt-get install rsync    [On Debian based systems]

আমরা রুট ব্যবহারকারীর সাথে আরএসসিএন সেটআপ করতে পারি, তবে সুরক্ষার কারণে আপনি আরএসসিএন চালাতে মূল ওয়েবসারভার i.e webserver.example.com এ একটি অনিবদ্ধ ব্যবহারকারী তৈরি করতে পারেন।

 useradd tecmint
 passwd tecmint

এখানে আমি একটি ব্যবহারকারী "টেকমিন্ট" তৈরি করেছি এবং ব্যবহারকারীর জন্য একটি পাসওয়ার্ড বরাদ্দ করেছি।

আপনার ব্যাকআপ সার্ভারে (যেমন ব্যাকআপ.এক্স্পেল.কম) আপনার আরএসসিএনসি সেটআপ পরীক্ষা করার সময় এসেছে এবং এটি করার জন্য দয়া করে নিম্নলিখিত আদেশটি টাইপ করুন।

 rsync -avzhe ssh [email :/var/www/ /var/www
[email 's password:

receiving incremental file list
sent 128 bytes  received 32.67K bytes  5.96K bytes/sec
total size is 12.78M  speedup is 389.70

আপনি দেখতে পাচ্ছেন যে আপনার আরএসসিএনসি এখন সম্পূর্ণ সূক্ষ্মভাবে কাজ করছে এবং ডেটা সিঙ্ক করছে। আমি স্থানান্তর করতে "/ var/www" ব্যবহার করেছি; আপনি আপনার প্রয়োজন অনুসারে ফোল্ডারের অবস্থান পরিবর্তন করতে পারেন।

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

এখানে এই উদাহরণে, আমি ফাইলের মালিকানাও সংরক্ষণের জন্য এটি রুট হিসাবে করছি, বিকল্প ব্যবহারকারীদের জন্যও আপনি এটি করতে পারেন।

প্রথমত, আমরা ব্যাকআপ সার্ভারে (যেমন ব্যাকআপ.এক্স্পেল.কম) নিম্নলিখিত কমান্ড সহ একটি সরকারী এবং ব্যক্তিগত কী তৈরি করব।

 ssh-keygen -t rsa -b 2048

আপনি যখন এই আদেশটি প্রবেশ করেন, দয়া করে পাসফ্রেজ সরবরাহ করবেন না এবং খালি পাসফ্রেজের জন্য এন্টার এ ক্লিক করুন যাতে আরএসসিএন ক্রোনকে ডেটা সিঙ্ক করার জন্য কোনও পাসওয়ার্ডের প্রয়োজন না হয়।

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9a:33:a9:5d:f4:e1:41:26:57:d0:9a:68:5b:37:9c:23 [email 
The key's randomart image is:
+--[ RSA 2048]----+
|          .o.    |
|           ..    |
|        ..++ .   |
|        o=E *    |
|       .Sooo o   |
|       =.o o     |
|      * . o      |
|     o +         |
|    . .          |
+-----------------+

এখন, আমাদের সরকারী এবং ব্যক্তিগত কী তৈরি করা হয়েছে এবং আমাদের এটিকে মূল সার্ভারের সাথে ভাগ করতে হবে যাতে প্রধান ওয়েব সার্ভারটি এই ব্যাকআপ মেশিনটিকে সনাক্ত করতে পারে এবং ডেটা সিঙ্ক করার সময় কোনও পাসওয়ার্ড জিজ্ঞাসা না করে লগইন করতে দেয়।

 ssh-copy-id -i /root/.ssh/id_rsa.pub [email 

এখন "ssh" [ইমেল সুরক্ষিত] "" দিয়ে মেশিনে লগ ইন করার চেষ্টা করুন এবং .ssh/অনুমোদিত_কিগুলি চেক ইন করুন।

 [email 

এখন, আমরা কীগুলি ভাগ করে নিয়েছি। এসএসএইচ পাসওয়ার্ড কম লগইন সম্পর্কে আরও গভীরতা জানতে, আপনি এটিতে আমাদের নিবন্ধটি পড়তে পারেন।

  1. এসএসএইচ পাসওয়ার্ডহীন 5 টি সহজ ধাপে লগ ইন করুন

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

 crontab –e

এটি আপনার ডিফল্ট সম্পাদক সহ সম্পাদনা করার জন্য/ইত্যাদি/ক্রন্টব ফাইলটি খুলবে। এখানে এই উদাহরণে, আমি ডেটা সিঙ্ক করার জন্য এটি প্রতি 5 মিনিটে চালানোর জন্য ক্রোন লিখছি।

*/5        *        *        *        *   rsync -avzhe ssh [email :/var/www/ /var/www/

উপরের ক্রোন এবং আরএসআইএনসি কমান্ডটি প্রতি পাঁচ মিনিটের মধ্যে প্রধান ওয়েব সার্ভার থেকে কেবলমাত্র "/ var/www /" সিঙ্ক করে। আপনি আপনার প্রয়োজন অনুসারে সময় এবং ফোল্ডার অবস্থানের কনফিগারেশন পরিবর্তন করতে পারেন। আরও সৃজনশীল হতে এবং Rsync এবং ক্রোন কমান্ডটি কাস্টমাইজ করতে আপনি আমাদের আরও বিস্তারিত নিবন্ধগুলি এখানে পরীক্ষা করতে পারেন:

  1. লিনাক্সের মধ্যে ফাইল/ফোল্ডারগুলি সিঙ্ক করতে 10 রাইসাইক কম্যান্ডস
  2. লিনাক্সে 11 ক্রোন শিডিংয়ের উদাহরণ