4 Hasznos eszközök parancsok futtatásához több Linux szerveren
Ebben a cikkben bemutatjuk, hogyan lehet parancsokat futtatni több Linux-kiszolgálón egyidejűleg. Elmagyarázzuk, hogyan használhatunk néhány olyan széles körben ismert eszközt, amelyek több kiszolgálón egyidejűleg ismétlődő parancssorozatok végrehajtására szolgálnak. Ez az útmutató hasznos azoknak a rendszergazdáknak, akiknek általában naponta több Linux-kiszolgáló állapotát kell ellenőrizniük.
Ebben a cikkben feltételezzük, hogy már rendelkezik SSH-beállítással az összes kiszolgáló eléréséhez, másodsorban pedig, ha egyszerre több szervert is elér, célszerű kulcsalapú, jelszó nélküli SSH-t beállítani az összes Linux-kiszolgálón. Ez mindenekelőtt növeli a szerver biztonságát, és megkönnyíti a hozzáférést.
Olvassa el még: Egyéni SSH-kapcsolatok konfigurálása a távoli hozzáférés egyszerűsítésére
1. PSSH – Párhuzamos SSH
A Parallel-SSH egy nyílt forráskódú, gyors és könnyen használható, parancssori alapú Python eszközkészlet, amely számos Linux rendszeren párhuzamosan futtatja az ssh-t. Számos eszközt tartalmaz különféle célokra, például parallel-ssh, parallel-scp, parallel-rsync, parallel-slurp és >parallel-nuke (további információért olvassa el egy adott eszköz kézikönyvoldalát).
A parallel-ssh telepítéséhez először telepítenie kell a PIP programot Linux rendszerére.
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+
Ezután telepítse a parallel-ssh fájlt a pip használatával az alábbiak szerint.
sudo pip install parallel-ssh
Ezután adja meg az SSH-porttal rendelkező távoli Linux-kiszolgáló gazdagépnevét vagy IP-címét egy hosts nevű fájlban (bármilyen nevet adhat):
vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22
Mentse el a fájlt és zárja be.
Most futtassa a parallel-ssh parancsot, adja meg a hosts fájlt a -h
kapcsolóval, és egy parancs(oka)t, amely az összes megadott szerveren végrehajtódik. A -i
jelző az std output és az std error megjelenítését jelenti, amint a parancs végrehajtása az egyes szervereken befejeződik.
parallel-ssh -h hosts "uptime; df -h"
Érdemes még megnézni: Több parancs futtatása több Linux-kiszolgálón
2. Pdsh – Parallel Remote Shell Utility
A Pdsh egy nyílt forráskódú, egyszerű párhuzamos távoli shell-eszköz, amellyel egyszerre több Linux-kiszolgálón is végrehajthat parancsokat. A távoli parancsok végrehajtásához egy csúszó szálablakot alkalmaz.
A Pdsh telepítéséhez Linuxos gépein futtassa az alábbi megfelelő parancsot.
sudo apt install pdsh #Debian/Ubuntu
yum install pdsh #RHEL/CentOS
dnf install pdsh #Fedora 22+
Ha több kiszolgálón szeretne parancsokat futtatni, adja hozzá a kiszolgálókat egy hosts fájlhoz a korábban leírtak szerint. Ezután futtassa a pdsh programot az ábra szerint; a -w
jelző a hosts fájl megadására, a -R
pedig a távoli parancsmodul megadására (a rendelkezésre álló távoli parancsmodulok közé tartozik az ssh, rsh, exec, a alapértelmezett az rsh).
Vegye figyelembe a hosts fájl előtti ^
-t.
pdsh -w ^hosts -R ssh "uptime; df -h"
Abban az esetben, ha nem ad meg a parancssorban végrehajtandó távoli parancsot, a fentiek szerint, a pdsh interaktív módon fut, parancsokat kérve, és lefutva, ha kocsivisszaküldéssel fejeződik be. További információkért lásd a pdsh man oldalt:
man pdsh
3. ClusterSSH
A ClusterSSH egy parancssori eszköz több szerver fürtjének egyidejű adminisztrálására. Elindít egy adminisztrációs konzolt és egy xterm-et az összes megadott kiszolgálón, lehetővé téve, hogy mindegyiken ugyanazt a parancsot futtassa.
A clusterssh használatához először telepítse a helyi Linux-számítógépére az ábra szerint.
sudo apt install clusterssh #Debian/Ubuntu
yum install clusterssh #RHEL/CentOS
sudo dnf install clusterssh #Fedora 22+
Most, hogy telepítette, nyisson meg egyszerre egy felügyeleti konzolt és egy xtermet a távoli szervereken, az alábbiak szerint. Egy parancs futtatásához az összes kiszolgálón kattintson az xterm beviteli sávra, és írja be a parancsot; egyetlen gazdagép kezeléséhez használja a felügyeleti konzolját.
clusterssh linode cserver contabo
OR
clusterssh username@server1 username@server2 username@server3
További információkért lásd a clusterssh kézikönyvoldalát:
man clusterssh
4. Lehetséges
Az Ansible egy nyílt forráskódú és népszerű eszköz az IT-folyamatok automatizálására. Rendszerek konfigurálására és kezelésére, alkalmazások telepítésére és még sok másra használják.
Az Ansible Linux rendszerekre történő telepítéséhez futtassa az alábbi megfelelő parancsot:
sudo apt install ansible #Debian/Ubuntu
yum install ansible #RHEL/CentOS
sudo dnf install ansible #Fedora 22+
Az ansible telepítése után hozzáadhatja szervere gazdagépneveit vagy IP-címeit az /etc/anasible/hosts fájlhoz.
sudo vim /etc/anasible/hosts
Adja meg őket csoportokban, például webszerverek.
Ex 2: A collection of hosts belonging to the 'webservers' group
[webservers]
139.10.100.147
139.20.40.90
192.30.152.186
Mentse el a fájlt és zárja be.
A fenti hosts konfigurációs fájlban az üzemidő és a webszerver csoportban megadott összes szerverhez kapcsolódó felhasználók ellenőrzéséhez egyszerűen futtassa a lehetséges parancssori eszközt az alábbiak szerint.
A -a
paraméterek a modulnak átadandó argumentumok megadására szolgálnak, a -u
jelző pedig az alapértelmezett felhasználónevet adja meg a távoli szerverekhez való csatlakozáshoz. SSH-n keresztül.
Vegye figyelembe, hogy az ansible CLI eszköz legfeljebb egyetlen parancs végrehajtását teszi lehetővé.
ansible webservers -a "w " -u admin
Ez minden! Ebben a cikkben elmagyaráztuk, hogyan lehet parancsokat futtatni több távoli Linux-kiszolgálón egyidejűleg széles körben használt eszközök segítségével. Ha tud olyan eszközöket, amelyek ugyanerre a célra használhatók, és amelyeket ebben a cikkben nem tartalmaztunk, tudassa velünk az alábbi megjegyzés űrlapon keresztül.