मल्टीपल लिनक्स सर्वर पर मल्टीपल कमांड कैसे चलाएं


यदि आप कई लिनक्स सर्वर का प्रबंधन कर रहे हैं, और आप सभी लिनक्स सर्वरों पर कई कमांड चलाना चाहते हैं, लेकिन आपको यह पता नहीं है कि यह कैसे करना है। चिंता करने की कोई आवश्यकता नहीं है, इस सरल सर्वर प्रबंधन गाइड में, हम आपको दिखाएंगे कि एक साथ कई लिनक्स सर्वर पर कई कमांड कैसे चलाएं।

प्राप्त करने के लिए, आप कई मेजबान पर समानांतर में ssh निष्पादित करने के लिए कमांड लाइन उपयोगिता, pssh (समानांतर ssh) प्रोग्राम का उपयोग कर सकते हैं। इसके साथ, आप शेल स्क्रिप्ट से, सभी ssh प्रक्रियाओं में इनपुट भेज सकते हैं।

  1. Install Pssh to Run Commands on Multiple Remote Linux Servers
  2. You must be using SSH passwordless authentication for all remote servers.

एक शेल स्क्रिप्ट बनाएँ

इसलिए, आपको एक स्क्रिप्ट तैयार करके शुरू करने की आवश्यकता है जिसमें लिनक्स कमांड्स हैं जिन्हें आप विभिन्न सर्वरों पर निष्पादित करना चाहते हैं। इस उदाहरण में, हम एक स्क्रिप्ट लिखेंगे जो कई सर्वरों से निम्नलिखित जानकारी एकत्र करेगी:

  • Check uptime of servers
  • Check who is logged on and what they are doing
  • List top 5 running processes according to memory usage.

पहले अपने पसंदीदा संपादक के साथ कमांड.श नामक स्क्रिप्ट बनाएं।

# 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

PSSH होस्ट फ़ाइल बनाएँ

इसके बाद, उन सर्वरों की सूची जोड़ें जिन्हें आप Host.txt फ़ाइल में, [[ईमेल प्रोटेक्टेड]] होस्ट [: port] पर चलाना चाहते हैं। > या बस सर्वर आईपी पते दे।

लेकिन हमारा सुझाव है कि आप ssh उपनामों का उपयोग करें, जो .sh/config फ़ाइल में निर्दिष्ट किया जा सकता है, जैसा कि रिमोट एक्सेस को सरल बनाने के लिए कस्टम ssh कनेक्शन को कॉन्फ़िगर करने के तरीके के बारे में बताया गया है।

यह विधि अधिक कुशल और विश्वसनीय है, यह आपको प्रत्येक दूरस्थ सर्वर के लिए कॉन्फ़िगरेशन विकल्प (जैसे होस्ट नाम, पहचान फ़ाइल, पोर्ट उपयोगकर्ता नाम आदि) को निर्दिष्ट करने की अनुमति देता है।

निम्नलिखित हमारा नमूना ssh होस्ट अलाइसेस फ़ाइल a.k.a उपयोगकर्ता विशिष्ट ssh कॉन्फ़िगरेशन फ़ाइल है।

# vi ~/.ssh/config

अगला, Host.txt फ़ाइल बनाएं, यहां आप केवल दिखाए गए अनुसार उपनामों (होस्ट कीवर्ड का उपयोग करके .shsh/config फ़ाइल ) में परिभाषित नाम निर्दिष्ट कर सकते हैं।

# vi hosts.txt 

सर्वर उपनाम जोड़ें।

server1
server2
server3

एकाधिक लिनक्स सर्वर पर एक स्क्रिप्ट के माध्यम से कमांड चलाएं

अब स्क्रिप्ट के साथ-साथ कई pssh कमांड निम्न कमांड चलाएं, स्क्रिप्ट के साथ-साथ कई रिमोट सर्वर पर चलने के लिए कई कमांड्स हैं।

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

उपरोक्त आदेश में प्रयुक्त झंडे का अर्थ:

  • -h – reads the hosts file.
  • -P – tells pssh to display output as it arrives.
  • -I – reads input and sends to each ssh process.

बस! इस लेख में, हमने दिखाया कि लिनक्स में कई सर्वरों पर कई कमांड कैसे निष्पादित करें। आप इस विषय से संबंधित कोई भी विचार नीचे टिप्पणी अनुभाग के माध्यम से साझा कर सकते हैं।