4 korisna alata za pokretanje komandi na više Linux servera


U ovom članku ćemo pokazati kako pokrenuti komande na više Linux servera u isto vrijeme. Objasnit ćemo kako koristiti neke od nadaleko poznatih alata dizajniranih za izvršavanje ponavljajućih serija naredbi na više servera istovremeno. Ovaj vodič je koristan za sistemske administratore koji obično moraju svakodnevno provjeravati zdravlje više Linux servera.

Za potrebe ovog članka, pretpostavljamo da već imate SSH podešavanje za pristup svim vašim serverima i drugo, kada pristupate više servera istovremeno, prikladno je postaviti SSH bez lozinke na svim vašim Linux serverima. Ovo prije svega poboljšava sigurnost servera i također omogućava lak pristup.

Pročitajte također: Kako konfigurirati prilagođene SSH veze za pojednostavljenje daljinskog pristupa

1. PSSH – Paralelni SSH

Parallel-SSH je open source, brz i jednostavan za korištenje Python alat baziran na komandnoj liniji za paralelno izvršavanje ssh-a na brojnim Linux sistemima. Sadrži niz alata za različite namjene kao što su parallel-ssh, parallel-scp, parallel-rsync, parallel-slurp i parallel-nuke (pročitajte man stranicu određenog alata za više informacija).

Da biste instalirali parallel-ssh, morate prvo instalirati PIP na vašem Linux sistemu.

sudo apt install python-pip python-setuptools 	#Debian/Ubuntu 
yum install python-pip python-setuptools	        #RHEL/CentOS 
dnf install python-pip python-setuptools	        #Fedora 22+

Zatim instalirajte parallel-ssh koristeći pip kako slijedi.

sudo pip install parallel-ssh

Zatim unesite imena hostova ili IP adrese udaljenog Linux servera sa SSH portom u datoteku pod nazivom hosts (možete je imenovati kako god želite):

vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Sačuvajte datoteku i zatvorite je.

Sada pokrenite parallel-ssh, navedite hosts datoteku koristeći opciju -h i komandu(e) koja će se izvršiti na svim navedenim serverima. Oznaka -i znači prikaz std izlaza i std greške kako se izvršavanje naredbe na svakom serveru završi.

parallel-ssh -h hosts "uptime; df -h"

Također biste trebali provjeriti: Kako pokrenuti više naredbi na više Linux servera

2. Pdsh – Parallel Remote Shell Utility

Pdsh je open source, jednostavan paralelni alat za udaljenu ljusku za izvršavanje komandi na više Linux servera u isto vrijeme. Koristi klizni prozor niti za izvršavanje daljinskih komandi.

Da instalirate Pdsh na vaše Linux mašine, pokrenite odgovarajuću naredbu ispod.

sudo apt install pdsh 	#Debian/Ubuntu 
yum install pdsh	        #RHEL/CentOS 
dnf install pdsh              #Fedora 22+

Da biste pokrenuli komande na više servera, dodajte servere u hosts fajl kao što je objašnjeno ranije. Zatim pokrenite pdsh kao što je prikazano; zastavica -w se koristi za specificiranje hosts fajla, a -R se koristi za specificiranje modula udaljene komande (dostupni moduli udaljenih komandi uključuju ssh, rsh, exec, default je rsh).

Obratite pažnju na ^ prije hosts fajla.

pdsh -w ^hosts -R ssh "uptime; df -h"

U slučaju da ne navedete udaljenu komandu koja će se izvršiti na komandnoj liniji kao što je prikazano gore, pdsh radi interaktivno, tražeći od vas komande i izvršavajući ih kada se završi sa povratnom vezom. Za više informacija pogledajte pdsh man stranicu:

man pdsh 

3. ClusterSSH

ClusterSSH je alat komandne linije za administriranje klastera više servera u isto vrijeme. Pokreće konzolu za administraciju i xterm na sve navedene servere što vam omogućava da pokrenete istu komandu na svim njima.

Da biste koristili clusterssh, počnite tako što ćete ga instalirati na vaš lokalni Linux računar kao što je prikazano.

sudo apt install clusterssh    #Debian/Ubuntu 
yum install clusterssh         #RHEL/CentOS 
sudo dnf install clusterssh    #Fedora 22+

Sada kada ste ga instalirali, otvorite administratorsku konzolu i xterm na udaljenim serverima odjednom, kako slijedi. Da biste pokrenuli komandu na svim serverima, kliknite na ulaznu traku xterm i otkucajte svoju naredbu; za upravljanje jednim hostom, koristite njegovu administratorsku konzolu.

clusterssh linode cserver contabo
OR
clusterssh username@server1 username@server2 username@server3 

Za više informacija, pogledajte clusterssh man stranicu:

man clusterssh

4. Ansible

Ansible je open source i popularan alat za automatizaciju IT procesa. Koristi se za konfigurisanje i upravljanje sistemima, postavljanje aplikacija i još mnogo toga.

Da instalirate Ansible na Linux sisteme, pokrenite odgovarajuću naredbu u nastavku:

sudo apt install ansible       #Debian/Ubuntu 
yum install ansible            #RHEL/CentOS 
sudo dnf install ansible       #Fedora 22+

Nakon što instalirate ansible, možete dodati imena hostova ili IP adrese vašeg servera u datoteku /etc/anasible/hosts.

sudo vim /etc/anasible/hosts

Navedite ih u grupama, npr. web serveri.

Ex 2: A collection of hosts belonging to the 'webservers' group
[webservers]
139.10.100.147
139.20.40.90
192.30.152.186

Sačuvajte datoteku i zatvorite je.

Sada da provjerite vrijeme rada i korisnike koji su povezani sa svim serverima navedenim u grupi webserver, u gornjoj konfiguracijskoj datoteci hosta, jednostavno pokrenite ansible alatku komandne linije kako slijedi.

Opcije -a se koriste za specificiranje argumenata za prosljeđivanje modulu, a -u zastavica specificira zadano korisničko ime za povezivanje na udaljene servere preko SSH.

Imajte na umu da vam ansible CLI alat dozvoljava da izvršite najviše samo jednu naredbu.

ansible webservers -a "w " -u admin

To je sve! U ovom članku smo objasnili kako pokrenuti komande na više udaljenih Linux servera istovremeno koristeći široko korištene alate. Ako znate za bilo koji alat za istu svrhu, koji nismo uključili u ovaj članak, javite nam putem obrasca za komentare ispod.