* A dish elvileg tudja, de egyszerűen nem működött, csak Etch -en.
Csak a pehelysúlyú genders csomag kell neki, az /etc/genders -t valahogy így kell kitölteni:
php[1-4] frontend,cpu=4
sql[1-2],gw2 sql,cpu=4
gw1 lvs,cpu=2
Ezután a -g frontend paraméterre a php1,php2,php3,php4 szervereken futtatja a parancsot, a -g cpu=2 csak a 2 procis gép(ek)en (gw1). Tetszőleges számú attribútum lehet, amik közül or-and-xor -al kikombinálható a kívánt halmaz, pl.: -g 'frontend&&cpu=8'. A parancsoknál a gender (-g) bárhol elhagyható, ekkor minden ismert node -on futtatja.
Néhány példa..
A parancsokhoz használható a bash completition (parancs-kiegészítés TAB-ra), pl. így:
gr -g frTAB invTAB ligTAB relTAB
Ezt a következő parancsra egészíti ki a bash:
gr -g frontend invoke-rc.d lighttpd reload
Ez egy 3 órás cumi volt, ugyanis az, hogy a kapcsolók után működjön a parancs- és paramétereinek kiegészítése, az még a sudo -hoz sincs megírva Lenny -n, én meg amúgy nem értek a bash scripteléshez, ez az első komolyabb próbálkozásom..
Nem muszáj '' közé tenni a parancsot ha neked se áll kézre:
php1:~# gr -g frontend echo 1 2 3
--- php1 (frontend) ---
1 2 3
--- php2 (frontend) ---
1 2 3
--- php3 (frontend) ---
1 2 3
--- php4 (frontend) ---
1 2 3
A shell glob -ok simán átmennek:
php1:~# gr -g sql 'touch probafajl; ls -l probaf*; rm probaf*'
--- gw2 (sql) ---
-rw-r--r-- 1 root root 0 2010-02-21 02:23 probafajl
--- sql1 (sql) ---
-rw-r--r-- 1 root root 0 Feb 21 02:23 probafajl
--- sql2 (sql) ---
-rw-r--r-- 1 root root 0 Feb 21 02:23 probafajl
Egy kicsit agyasabb trükk, szétmásolja a huje nevu fajl.txt -t, miközben saját magát kihagyja (-x), illetve megerősítest kér (-i). Magyarán képes egy helyi parancs kimenetét hozzákötni az ssh -ban futtatott távoli parancsok bemenetéhez:
php1:~# echo hello world > 'huje nevu fajl.txt'
php1:~# gr -x -i -g frontend -l "cat 'huje nevu fajl.txt'" "cat >'huje nevu fajl.txt'"
php1$ cat 'huje nevu fajl.txt' | {php2,php3,php4}$ cat >'huje nevu fajl.txt' -- sure? (y/N) y
### php1 (frontend) ###
--- php2 (frontend) ---
--- php3 (frontend) ---
--- php4 (frontend) ---
- dap blogja
- A hozzászóláshoz be kell jelentkezni
- 1081 megtekintés
Hozzászólások
pedig ha előkerested volna a cssh-t, hamarabb végzel.
szerk: debianban clusterssh csomag.
- A hozzászóláshoz be kell jelentkezni
Ezt már korábban néztem, de ez a sok X11 függőség nem tetszetős, mert nem desktopról akarom futtatni, hanem a fürtök tetszőleges node -járól, ahol épp benn vagyok, ahol épp dolgom van.
- A hozzászóláshoz be kell jelentkezni
build it yourself
- A hozzászóláshoz be kell jelentkezni
Ez mennyiben jobb a for MACHINE in $MACHINES; do echo "--- $MACHINE ---"; ssh $REMOTEUSER@$MACHINE "$1"; done-nál?
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
Szerintem jobb, mert adott esetben jobb levalogatast tudsz csinalni. Peldaul, ezzel a modszerrel hogy mondod azt, hogy az osszes webszerverre masold fel a test.php nevu fajlt? Ha ugy kezdodik a megoldas, hogy egyesevel bepotyogom a gepek neveit/ip-it, akkor fail.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ha jobban megnézed, ez gyakorlatilag az, kis körítéssel.. :)
Annyiból több, hogy a gépek kiválasztása bele van építve és egész rugalmas (-x -g) és tud megerősítést kérni.
- A hozzászóláshoz be kell jelentkezni
Ha esetleg valaki csöndben használná: Ebben már benne a bash completion támogatás is, úgy egészíti ki a távoli parancsot, mint a helyit.
gr -g frTAB invTAB ligTAB relTAB => gr -g frontend invoke-rc.d lighttpd reload
- A hozzászóláshoz be kell jelentkezni