একাধিক লিনাক্স সার্ভারে একাধিক কমান্ড কীভাবে চালানো যায়


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

অর্জন করার জন্য, আপনি বেশ কয়েকটি হোস্টের সমান্তরালে ssh চালানোর জন্য একটি কমান্ড লাইন ইউটিলিটি, pssh (সমান্তরাল ssh) প্রোগ্রাম ব্যবহার করতে পারেন। এটির সাহায্যে আপনি শেল স্ক্রিপ্ট থেকে সমস্ত এসএসএস প্রক্রিয়াতে ইনপুট পাঠাতে পারেন।

  1. একাধিক রিমোট লিনাক্স সার্ভারগুলিতে কমান্ড চালানোর জন্য পিএসএস ইনস্টল করুন
  2. আপনার অবশ্যই সমস্ত দূরবর্তী সার্ভারগুলির জন্য এসএসএইচ পাসওয়ার্ডহীন প্রমাণীকরণ ব্যবহার করা উচিত

একটি শেল স্ক্রিপ্ট তৈরি করুন

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

  • সার্ভারের সময়কাল পরীক্ষা করুন
  • কে লগ ইন হয়েছে এবং তারা কী করছে তা পরীক্ষা করুন
  • মেমরির ব্যবহার অনুযায়ী শীর্ষ 5 চলমান প্রক্রিয়াগুলির তালিকাবদ্ধ করুন

প্রথমে আপনার প্রিয় সম্পাদক হিসাবে কমান্ড.শ নামে একটি স্ক্রিপ্ট তৈরি করুন।

# vi commands.sh

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

#!/bin/bash 
###############################################################################
#Script Name    : commands.sh                       
#Description    : execute multiple commands on multiple servers                                                                     
#Author         : Aaron Kili Kisinga       
#Email          : [email  
################################################################################
echo
# show system uptime
uptime
echo
# show who is logged on and what they are doing
who
echo
# show top 5 processe by RAM usage 
ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6

exit 0

ফাইলটি সংরক্ষণ করুন এবং এটি বন্ধ করুন। তারপরে স্ক্রিপ্টটি প্রদর্শিত হিসাবে কার্যকর করা যায়।

# chmod +x commands.sh

পিএসএসএইচ হোস্ট ফাইল তৈরি করুন

এর পরে, আপনি একটি হোস্ট.টেক্সট ফাইলে [[ইমেল সুরক্ষিত]] হোস্ট [: পোর্ট] বিন্যাসে যে সার্ভারগুলির কমান্ডগুলি চালাতে চান সেগুলির তালিকা যুক্ত করুন বা কেবল সার্ভার আইপি দিন ঠিকানা।

তবে আমরা আপনাকে পরামর্শ দিচ্ছি যে আপনি এসএসএস এলিয়াস ব্যবহার করুন যা দূরবর্তী অ্যাক্সেসকে সহজ করার জন্য কীভাবে কাস্টম এসএসএস সংযোগগুলি কনফিগার করতে হবে তার ব্যাখ্যা হিসাবে .ssh/কনফিগারেশন ফাইলে নির্দিষ্ট করা যেতে পারে।

এই পদ্ধতিটি আরও দক্ষ এবং নির্ভরযোগ্য, এটি আপনাকে প্রতিটি দূরবর্তী সার্ভারের জন্য কনফিগারেশন বিকল্পগুলি (যেমন হোস্টের নাম, ফাইল সনাক্তকরণ, পোর্ট, ব্যবহারকারীর নাম ইত্যাদি) নির্দিষ্ট করতে দেয়।

নীচে আমাদের নমুনা ssh হোস্ট আলিয়াস ফাইল a.k.a ব্যবহারকারী নির্দিষ্ট ssh কনফিগারেশন ফাইল।

# vi ~/.ssh/config

এরপরে, একটি হোস্ট.এসটিএসটি ফাইল তৈরি করুন, এখানে আপনি কেবলমাত্র বর্ণনামগুলি (.ssh/config ফাইলের মধ্যে হোস্ট কীওয়ার্ড ব্যবহার করে সংজ্ঞায়িত নামগুলি) নির্দিষ্ট করতে পারবেন।

# vi hosts.txt 

সার্ভারের উপনাম যুক্ত করুন।

server1
server2
server3

একাধিক লিনাক্স সার্ভারে একটি স্ক্রিপ্টের মাধ্যমে কমান্ডগুলি চালান

এখন একাধিক রিমোট সার্ভারে চলার জন্য একাধিক কমান্ড থাকা স্ক্রিপ্টের সাথে ਮੇਜ਼ਬਾਨ.txt ফাইল নির্দিষ্ট করে নিম্নলিখিত পিএসএস কমান্ডটি চালান।

# pssh -h hosts.txt -P -I<./commands.sh

উপরের আদেশে ব্যবহৃত পতাকাগুলির অর্থ:

  • -h - হোস্ট ফাইলটি পড়ে।
  • -P - pssh কে আউটপুট আসার সাথে সাথে প্রদর্শন করতে বলে
  • -I - ইনপুট পড়ে এবং প্রতিটি ssh প্রক্রিয়াতে প্রেরণ করে

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