Weboldal keresés

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ű.