Kako pokrenuti više naredbi na više Linux poslužitelja


Ako upravljate s više Linux poslužitelja i želite pokrenuti više naredbi na svim Linux poslužiteljima, ali nemate pojma kako to učiniti. Nema potrebe za brigom, u ovom jednostavnom vodiču za upravljanje poslužiteljem pokazat ćemo vam kako istodobno pokretati više naredbi na više Linux poslužitelja.

Da biste to postigli, možete koristiti program pssh (paralelni ssh), uslužni program naredbenog retka za paralelno izvršavanje ssh-a na brojnim hostovima. Pomoću nje možete poslati ulaz u sve ssh procese, iz skripte ljuske.

  1. Instalirajte Pssh za pokretanje naredbi na više udaljenih Linux poslužitelja
  2. Morate koristiti SSH autentifikaciju bez lozinke za sve udaljene poslužitelje.

Stvorite skriptu školjke

Stoga morate započeti s pripremom skripte koja sadrži Linux naredbe koje želite izvršiti na različitim poslužiteljima. U ovom ćemo primjeru napisati skriptu koja će prikupiti sljedeće podatke s više poslužitelja:

  • Provjerite vrijeme rada poslužitelja
  • Provjerite tko je prijavljen i što radi
  • Navedite 5 najboljih pokrenutih procesa prema upotrebi memorije.

Prvo stvorite skriptu koja se naziva commands.sh s omiljenim uređivačem.

# vi commands.sh

Dalje, dodajte sljedeće naredbe u skriptu kao što je prikazano.

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

Spremite datoteku i zatvorite je. Zatim napravite skriptu izvršnom kao što je prikazano.

# chmod +x commands.sh

Stvorite datoteku PSSH hostova

Zatim dodajte popis poslužitelja na kojima želite izvoditi naredbe u datoteku hosts.txt u formatu [[email ] host [: port] ili jednostavno poslužitelju dajte IP adrese.

Ali predlažemo da koristite ssh pseudonime koji se mogu specificirati u .ssh/config datoteci kako je objašnjeno u tome kako konfigurirati prilagođene ssh veze radi pojednostavljenja daljinskog pristupa.

Ova metoda je učinkovitija i pouzdanija, omogućava vam da odredite opcije konfiguracije (kao što su naziv hosta, identificiranje datoteke, port, korisničko ime itd.) Za svaki udaljeni poslužitelj.

Slijedi naš uzorak datoteke ssh zamjenskih datoteka hostova, odnosno korisničke ssh konfiguracijske datoteke.

# vi ~/.ssh/config

Dalje, stvorite datoteku hosts.txt, ovdje možete jednostavno odrediti pseudonime (imena definirana pomoću ključne riječi Host u .ssh/config datoteci) kao što je prikazano.

# vi hosts.txt 

Dodajte pseudonime poslužitelja.

server1
server2
server3

Pokretanje naredbi putem skripte na više Linux poslužitelja

Sada pokrenite sljedeću naredbu pssh navodeći datoteku hosts.txt zajedno sa skriptom koja sadrži više naredbi za izvođenje na više udaljenih poslužitelja.

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

Značenje zastavica korištenih u gornjoj naredbi:

  • -h - čita datoteku domaćina.
  • -P - govori pssh da prikaže izlaz čim stigne.
  • -I - čita ulaz i šalje svakom ssh procesu.

To je to! U ovom smo članku pokazali kako izvršiti više naredbi na više poslužitelja u Linuxu. Sve misli u vezi s ovom temom možete podijeliti putem odjeljka za komentare u nastavku.