Kā palaist vairākas komandas vairākos Linux serveros
Ja pārvaldāt vairākus Linux serverus un vēlaties palaist vairākas komandas visos Linux serveros, bet jums nav ne jausmas, kā to izdarīt. Nav jāuztraucas, šajā vienkāršajā serveru pārvaldības rokasgrāmatā mēs parādīsim, kā vienlaikus darbināt vairākas komandas vairākos Linux serveros.
Lai to panāktu, varat izmantot programmu pssh (paralēli ssh), komandrindas utilītu, lai paralēli izpildītu ssh vairākos resursdatoros. Ar to jūs varat nosūtīt ievadi visiem ssh procesiem, izmantojot čaulas skriptu.
- Instalējiet Pssh, lai palaistu komandas vairākos attālos Linux serveros
- Visiem attālajiem serveriem jums jāizmanto SSH autentifikācija bez paroles.
Izveidojiet čaulas skriptu
Tāpēc jums jāsāk ar skripta sagatavošanu, kurā ir Linux komandas, kuras vēlaties izpildīt dažādos serveros. Šajā piemērā mēs uzrakstīsim skriptu, kas no vairākiem serveriem apkopos šādu informāciju:
- Pārbaudiet serveru darbības laiku
- Pārbaudiet, kurš ir pieteicies un ko viņi dara
- Uzskaitiet piecus aktīvākos procesus atbilstoši atmiņas lietojumam.
Vispirms izveidojiet skriptu ar nosaukumu commands.sh ar iecienītāko redaktoru.
# vi commands.sh
Pēc tam pievienojiet skriptam šādas komandas, kā parādīts.
#!/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
Saglabājiet failu un aizveriet to. Pēc tam izveidojiet skriptu izpildāmu, kā parādīts.
# chmod +x commands.sh
Izveidojiet PSSH Hosts failu
Pēc tam pievienojiet serveru sarakstu, kurā vēlaties palaist komandas, failā hosts.txt formātā [[email ] resursdators [: ports]
vai vienkārši norādiet servera IP adreses.
Bet mēs iesakām izmantot ssh aizstājvārdus, kurus var norādīt .ssh/config failā, kā paskaidrots, kā konfigurēt pielāgotus ssh savienojumus, lai vienkāršotu attālo piekļuvi.
Šī metode ir efektīvāka un uzticamāka, un tā ļauj katram tālvadības serverim norādīt konfigurācijas opcijas (piemēram, resursdatora nosaukumu, faila identificēšanu, portu, lietotājvārdu utt.).
Tālāk ir parādīts mūsu ssh hosts aizstājvārdu paraugs, kas ir lietotāja specifisks ssh konfigurācijas fails.
# vi ~/.ssh/config
Pēc tam izveidojiet failu hosts.txt, šeit varat vienkārši norādīt aizstājvārdus (nosaukumus, kas definēti, izmantojot resursdatora atslēgvārdu .ssh/config failā), kā parādīts.
# vi hosts.txt
Pievienojiet servera aizstājvārdus.
server1 server2 server3
Palaidiet komandas, izmantojot skriptu vairākos Linux serveros
Tagad palaidiet šo komandu pssh, norādot failu hosts.txt kopā ar skriptu, kas satur vairākas komandas, lai palaistu vairākos attālos serveros.
# pssh -h hosts.txt -P -I<./commands.sh
Iepriekš norādītajā komandā izmantoto karodziņu nozīme:
-
-h
- nolasa resursdatora failu. -
-P
- liek pssh parādīt izvadi, kad tā nonāk. -
-I
- nolasa ievadi un nosūta katram ssh procesam.
Tieši tā! Šajā rakstā mēs parādījām, kā izpildīt vairākas komandas vairākos Linux serveros. Zemāk esošajā komentāru sadaļā varat dalīties domās par šo tēmu.