DSH (Dancer's Shell) - Parancsok futtatása több Linux-állomáson
A Rendszeradminisztrátorok tisztában vannak annak fontosságával, hogy számos gépet rövid idő alatt, lehetőleg minimális fizikai mozgással tudjanak felügyelni és felügyelni. Legyen szó kis felhőkörnyezetről vagy nagy szerverfürtről, a számítógépek központi kezelésének képessége elengedhetetlen.
Ennek részbeni megvalósítása érdekében megmutatom, hogyan kell használni a DSH nevű remek kis eszközt (táncos shell/distributed shell), amely lehetővé teszi a felhasználó számára, hogy parancsokat futtasson több gépen.
Mi az a DSH?
A DSH a 'Distributed Shell' vagy a 'Dancer's Shell' rövidítése, amely a legtöbb nagyobb Linux disztribúción ingyenesen elérhető eszköz, de könnyen felépíthető forrásból, ha a disztribúció nem tartalmazza azt a csomagtárában.
Telepítse a DSH-t (Distributed Shell) Linuxra
Ennek az oktatóanyagnak a hatóköréhez Debian/Ubuntu környezetet fogunk feltételezni. Ha másik disztribúciót használ, cserélje ki a megfelelő parancsokat a csomagkezelő helyére.
A Debian-alapú disztribúciókon a következő apt paranccsal telepítheti a DSH-t a terminálban.
sudo apt install dsh
RHEL-alapú disztribúciók esetén a forrás tar-ballokból kell lefordítania, de mielőtt ezt megtenné, mindenképpen fordítsa le és telepítse a „libdshconfig” könyvtárat.
wget http://www.netfort.gr.jp/~dancer/software/downloads/libdshconfig-0.20.10.cvs.1.tar.gz
tar xfz libdshconfig*.tar.gz
cd libdshconfig-*
./configure ; make
sudo make install
Ezután fordítsa le a dsh fájlt, és telepítse.
wget https://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.22.0.tar.gz
tar xfz dsh-0.22.0.tar.gz
cd dsh-*
./configure ; make
sudo make install
A DSH használata Linuxban
A fő konfigurációs fájl „/etc/dsh/dsh.conf” (Debianhoz) és „/usr/local/etc/dsh.conf >” (a Red Hathez) meglehetősen egyszerű, de mivel az rsh egy titkosítatlan protokoll, az SSH-t fogjuk használni távoli shellként.
A választott szövegszerkesztővel keresse meg ezt a sort:
remoteshell =rsh
és módosítsd a következőre:
remoteshell =ssh
Vannak más lehetőségek is, amelyeket itt megadhatsz, ha úgy döntesz, és ezek közül rengeteget találsz a dsh man oldalán. Egyelőre elfogadjuk az alapértelmezett értékeket, és megnézzük a következő fájlt, a /etc/dsh/machines.list (Debian esetén).
Red Hat alapú rendszerek esetén létre kell hoznia egy „machines.list” nevű fájlt a „/usr/local/etc/” mappában. Könyvtár.
A szintaxis itt meglehetősen egyszerű. Csak annyit kell tennie, hogy soronként egyet megad a gép hitelesítő adatainak (Hostnév, IP-cím vagy FQDN).
Megjegyzés: Ha egynél több gépet ér el egyidejűleg, akkor érdemes kulcsalapú, jelszó nélküli SSH-t beállítani minden gépén. Ez nem csak könnyű hozzáférést biztosít, hanem biztonsági szempontból is keményebbé teszi a gépet.
A „/etc/dsh/machines.list” vagy „/usr/local/etc/machines.list” fájlom ezt írja:
172.16.25.125
172.16.25.126
Miután megadta a hozzáférni kívánt gépek hitelesítő adatait, futtassunk egy egyszerű parancsot, például az üzemidőt az összes gépen.
dsh -aM -c uptime
Mintakimenet:
172.16.25.125: 05:11:58 up 40 days, 51 min, 0 users, load average: 0.00, 0.01, 0.05
172.16.25.126: 05:11:47 up 13 days, 38 min, 0 users, load average: 0.00, 0.01, 0.05
Tehát mit csinál a „dsh” parancs?
Elég egyszerű. Először a dsh-t futtattuk, és átadtuk neki a „-a
” opciót, amely azt mondja, hogy az „uptime” parancsot a „ >ÖSSZES” az „/etc/dsh/machines.list” listában felsorolt gépek közül.
Ezután megadtuk a „-M
” opciót, amely a „gépnév” visszaadását írja elő (az „/etc/dsh/machines.list< fájlban megadva”“) az uptime parancs kimenetével együtt. (Nagyon hasznos a rendezéshez, ha parancsokat futtat számos gépen).
A „-c
” opció a „parancs végrehajtása” rövidítése, ebben az esetben „uptime”.
A DSH gépcsoportokkal is konfigurálható a „/etc/dsh/groups/” fájlban, ahol a fájl a gépek listájával megegyező formátumú. a „/etc/dsh/machines.list” fájlt. Ha a dsh-t futtatja egy csoporton, adja meg a csoportnevet a „-g
” opció után.
A Red Hat alapú rendszerekhez létre kell hoznia egy „groups” nevű mappát a „/usr/local/etc/” könyvtárban. Ebben a „groups” könyvtárban létrehoz egy „cluster” nevű fájlt.
Például futtassa a „w
” parancsot a „/etc/dsh/groups/cluster” „cluster” csoportfájlban felsorolt összes gépen. ” vagy „/usr/local/etc/groups/cluster“.
dsh -M -g cluster -c w
A DSH sokkal nagyobb rugalmasságot biztosít, és ez az oktatóanyag csak megkarcolja a felszínt. A parancsok végrehajtásán kívül a DSH fájlok átvitelére, szoftverek telepítésére, útvonalak hozzáadására és még sok másra is használható.
Egy nagy hálózatért felelős rendszeradminisztrátor számára ez felbecsülhetetlen értékű.