Kuinka suorittaa useita komentoja useilla Linux-palvelimilla


Jos hallitset useita Linux-palvelimia ja haluat suorittaa useita komentoja kaikilla Linux-palvelimilla, mutta sinulla ei ole aavistustakaan siitä, miten se tehdään. Ei ole syytä huoleen, tässä yksinkertaisessa palvelimen hallintaoppaassa näytämme sinulle kuinka suorittaa useita komentoja useilla Linux-palvelimilla samanaikaisesti.

Tämän saavuttamiseksi voit käyttää pssh (parallel ssh) -ohjelmaa, komentoriviohjelmaa ssh:n suorittamiseen rinnakkain useilla isännillä. Sen avulla voit lähettää syötteen kaikkiin ssh-prosesseihin shell-skriptistä.

Vaatimukset

  1. Asenna Pssh suorittaaksesi komentoja useilla Linux-etäpalvelimilla
  2. Sinun on käytettävä salasanatonta SSH-todennusta kaikissa etäpalvelimissa.

Luo Shell-skripti

Siksi sinun on aloitettava valmistelemalla komentosarja, joka sisältää Linux-komennot, jotka haluat suorittaa eri palvelimilla. Tässä esimerkissä kirjoitamme komentosarjan, joka kerää seuraavat tiedot useilta palvelimilta:

  • Tarkista palvelimien käyttöaika
  • Tarkista kuka on kirjautunut sisään ja mitä he tekevät
  • Listaa 5 parasta käynnissä olevaa prosessia muistin käytön mukaan.

Luo ensin skripti nimeltä commands.sh suosikkieditorillasi.

vi commands.sh

Lisää seuraavaksi seuraavat komennot skriptiin kuvan mukaisesti.

#!/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

Tallenna tiedosto ja sulje se. Tee sitten komentosarjasta suoritettava kuva kuvan mukaisesti.

chmod +x commands.sh

Luo PSSH Hosts -tiedosto

Lisää seuraavaksi luettelo palvelimista, joilla haluat suorittaa komennot hosts.txt-tiedostoon muodossa [user@]host[:port] tai anna vain palvelimen IP-osoitteet.

Suosittelemme kuitenkin käyttämään ssh-aliaksia, jotka voidaan määrittää .ssh/config-tiedostossa, kuten on selitetty mukautettujen ssh-yhteyksien määrittämisessä etäkäytön yksinkertaistamiseksi.

Tämä menetelmä on tehokkaampi ja luotettavampi, ja sen avulla voit määrittää kokoonpanoasetukset (kuten isäntänimi, tunnistetiedosto, portti, käyttäjätunnus jne.) jokaiselle etäpalvelimelle.

Seuraavassa on esimerkki ssh-isäntäaliaksien tiedostosta eli käyttäjäkohtaisesta ssh-määritystiedostosta.

vi ~/.ssh/config

Luo seuraavaksi hosts.txt-tiedosto, jossa voit määrittää aliakset (nimet, jotka on määritetty Host-avainsanalla .ssh/config-tiedostossa) kuvan mukaisesti.

vi hosts.txt 

Lisää palvelimen aliakset.

server1
server2
server3

Suorita komentoja komentosarjan kautta useilla Linux-palvelimilla

Suorita nyt seuraava pssh-komento määrittämällä hosts.txt-tiedosto ja komentosarja, joka sisältää useita komentoja, jotka suoritetaan useilla etäpalvelimilla.

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

Yllä olevassa komennossa käytettyjen lippujen merkitys:

  • -h – lukee hosts-tiedoston.
  • -P – käskee pssh:n näyttämään tulosteen saapuessaan.
  • -I – lukee syötteen ja lähettää jokaiselle ssh-prosessille.

Se siitä! Tässä artikkelissa näytimme kuinka suorittaa useita komentoja useilla palvelimilla Linuxissa. Voit jakaa tähän aiheeseen liittyviä ajatuksia alla olevan kommenttiosion kautta.