Třeba jsem tě jenom špatně pochopil, ale jak to řeší to, že potřebuješ udělat sérii naprosto identických kroků na mnoha strojích najednou? Otevřít více oken tohle přece neřeší, stejně to musíš do každýho napsat. A předem říkám, že copy&paste neberu jako odpověď, protože to také není to správné řešení
Jen to demonstruje ze ten kdo napsal parallel-ssh neumi s unixem at te kdo to sem vyblil na to neni o moc lepe ... je potreba aby takovych adminu bylo vice protoze me to jen dela lepsiho ;-)
ja bych to treba delal bez pssh
for EachServer in `cat file.txt | grep blablal`;do printf "%s " $EachServer;ssh $EachServer uptime; done
Neni vubec pro nejaky nesmysl jako parallel ssh
Jen to demostruje to, ze nekdo napsal program, ktery to co jste napsal zastupuje a mozna se i chova jinak. Ja pouzivam to co vy, sice to o dost vylepsene ,ale v podstate je to ono, kazdopadne si umim predstavit vyuziti takoveto utility uz proste jen kvuli pohodli, ze si nemusim na kazdou blbost psat skript.
muj snippet je na demonstraci proto tam neni error checking etc etc...
je to jen onliner ;-), duvod proc to nepouzivat vim v tom ze nez se ucit neco co unix umi sam od sebe neni nutne a schovam si to na veci ktere jsou unikatni...
mam radost ze to pouzivte ;-) zkuste si napsat libbrary a jen to source-nout.
. ./mylib a pak si to jen pustit...
OSN:
to je o zvyk ne?
cat file | grep pattern znamena ze potrebuju vypsat file a udelat s nim opraci, na kterou treba nakonec grep nebude stacit, a jen opravim konec line ne zacatek... - proste je to pro me rychlejsi. nepamatuju si presne ale cat mam dojem vypise soubor evektivneji nez co udela operator <
Mam pro tebe domaci ukol:
proc je toto
size_t mystrlen(const char *str) {
const char *start = str;
while(*str)
str++;
return str - start;
}
pomalejsi nez toto
size_t strlen(const char * str)
{
char * ptr = str;
while(1)
{
if(!*(ptr++)) break;
if(!*(ptr++)) break;
if(!*(ptr++)) break;
if(!*(ptr++)) break;
}
return (ptr - 1) - str;
}
Martin X - dekuju zes to OSN vysvetlil, samozrejme tvuj zpusob je na system nejmene narocny...
Hlavne v tomto skripte nemozes nadefinovat kolko paralelnych session pustis na raz. Ked mas tych serverov tisice tak asi nechces vytvorit tisice spojeni naraz, ale drzat napr. max. 100 otvorenych. Potom to uz chce sofistikovanejsi skript. Preto pssh je velmi dobry nastroj, ale este lepsi je pscp.
Pohnojit konfiguraci jednoho serveru mi prijde bezpecnejsi nez 10ti najednou. Takze z hlediska bezpecnosti provozu je tohle reseni (paralelni zadavani prikazu na vic stroju) snad vubec nejhorsi mozny.
A jak zajistit stejnou konfiguraci? No v zavislosti na okolnostech, samo predpripraveny a !!!odladeny!!! script, pripadne se obcas da i jednoduse a natvrdo rsync - specielne pokud to je farma a lze odstavit libovolnej stroj z provozu je rsync idealni reseni. Naconfi se to jednou na jednom stroji a pak se jen zmeny aplikuji na zbytek (nektery veci lze i za chodu).
Presne ;-) tak se to dela veci proste selhat muzou..
unix /linux na urovni tech ktery nepotrebuji veci typu pssh neni o tom co umis ( protoze uz toho zname dost) ale o stylu jak se systemy spravuji a designuji aby stim bylo malo prace a bylo to relativne bezpecne. neni potom problem abysme v 3 systadminech obstaravali neco pres 1200 server ( solaris/linux )
pokud je treba dat novou konfiguraci na 100 serveru tak se to dela jinak nez pssh to by se toho moc rozbylo... kazdy server si stahne v maintenance window co potrebuje a hlavne si musi udelat validaci pokud to neprojde tak se zmena odepre. to vse je udelane automaticky a zpet se reportuje do monitoringu ...
tyto veci jsme si vetsinou napsali protoze to co se da koupit je vetsinou zbytecne drahe a potrebuje zase nascriptovat... tak jsme si to udelali my, za tech par let mam na tyhle veci framework.
mimo jine pres unix strkame konfigurace it to windows serveru, zase unix nageneruje text config a posle do windows. windows si udela validaci a nacpe co kam ma a nahlasi zpet juniors co kde se nepovedlo...
mame vychytavky typu, pokud je automaticka zmena odeprena na polivine serveru tak se dalsi zmeny ani nedelaji protoze je nekde problem co se nenaslo v testovani....
Promin bude to tim ze cesky moc nemluvim ;-) poslednich 12 let pendluju mezi parizi, londynem chicagem a sydney takze pokud chces prepisu do angliny nebo franiny am by to melo byt bez chyb. muzu zkusit spanelstinu ale to mi moc nejde.. ;-)
doufam ze jsi ale pochopil co jsem tim myslel
pssh je tool pokud spravujes 10 serveru ne pokud jich mas vice potom je to nebezpecne a musis se kouknout po necem jinem...
10 serveru je zajimave pro juniora ktery se chce ucit a ma ambice "hrat" unix na velke urovni - vetsinou banky nebo firmy co delaji outsourcing pro banky.. tam je potom nutne aby ten clovek skriptoval bez toho se admin proste neobejde..
dovolim si rict ( a to je ma limitovane zkusenosti z 02, Spain and Brazil) ze telco sije systemy hodne horkou jehlou a stale se to jen opravuje protoze to bylo udelane spatne a nekym kdo nemyslsle na to jak se to bude supportovat, a ISP jsou na tom podobne.
delam v investicni bance, a po prvnim roce co jsem tam byl jsme presli z "haseni pozaru" na prevency, systemy nam padaji tak 20x mene nez pred tim, je to hlavne proto ze jsme vyhazely tooly podobne pssh a zavedli poradny change control system..
jj, si zive predstavuju jak se v necem hrabe 10 lidi a kazdej v 10 strojich najednou - bordel, chaos ... jeden se uklipne tuhle, druhej tamhle ...
Veskerej support u zakaznika resim tak, ze mam testovaci virtual, na nem naboucham co potrebuju, vyzkousim to, narvu to do scriptu, znova otestuju (virtual ma tu vyhodu, ze se snadno a rychle vrati snap) a i kdyz vsechno funguje, tak to pekne poustim na kazdym serveru extra, paac clovek nikdy nevi, co se kde podela.
Ano maintenance windows ma delany takhle windows sekce. No uzasny je kdyz nabiha burza v tokyu, tak server na druhy strane planety ma zrovna "maintenance window". A nejvetsi sranda je kdyz je nejaky uc4 job v kolizi s maintenance window. Kdyz je treba dat dohromady maintenance window pro job planning,mainframy a unixy. To prakticky nejde zkrz 5000 serveru naplanovat. System maintenance windows jsme zrusili.
Ne takhle to nejde. Pouzivam taky pssh a to zkrz ruzne platformy. Nekdy je treba i neco "zkazit" v realnym case a rychle. Protoze k nekdy si zase clovek musi uvedomit co ktera operace udela a ze ten comand na tisici serverech polozi SANku na kolena...
Je treba psat skripty _PORADNE_ a udelat spoustu checku nez se pusti nejaka akce. A stejne pak na mne z logu vykoukne spousta kostlivcu ze skrine.
S tim telco jak pises niz mas pravdu. Pamatuju jak v dobe mych juniorskych zacatku jsem se prihlasoval v "mangenta" firme telnetem a admini to povazovali za normalni.
Ahoj,
neřeším urážlivé komentáře od někoho, kdo nemůže snést, že Petr zná něco, co on ne :), ani komentář o bezpečnosti, na který nelze odpovědět jinak než „každý svého štěstí strůjcem“, aneb každý nástroj lze použít i zneužít.
Každopádně pssh je pro mě moc užitečná novinka, kterou jsem neznal, a zvlášť se mi líbí parametry jako -i (vypsání výstupu na obrazovku při ukončení spojení) nebo -o (vysypání jednotlivých výstupů do souborů v adresáři).
Každopádně, díky, že už můžu komentovat pod články a nebere mě to jako SPAM. Vivat OpenID a IPv6!
Suhlasim - tiez som to doteraz riesil scriptami ale toto je elegantnejsie - pri sprave cloud serverov je to pohoda. Dokonca aj par OpenWRT routerov som tym pred chvilou odskusal obsluzit (update balickov a vypis stavu pamate a miesta na "disku") a je to uplne skvele.
Akurat mi na tom trochu blbne timeout cez OpenVPN, ale je mozne, ze to je skor chybou mojej konfiguracie, nie pssh...
kdyz renkes blbovi ze je blb neurazis ho.
do root diskuzi prispiva jeste nekdo kdo se podepisuje NN, co rekne on/ona.dava smysl takze pokud on/ona neco napise hodne se nad tim zamysli.
jsem si 95% jisty ze by se mnou NN souhlasil, pokud ne se stylem jak jsem to napsal tak s tim co se vam snazim rict ;-). jo a kdyz ne je mi to stejne jednou...
duvod proc si myslim ze je tento tool na uplny prd je protoze jsem videl lidi pouzivat KDE teminal a editoval soubour pres vi na 20 serverech. stacilo soubor oeditovat na fileserver a potom ho jen poslat do tech 20 serveru ;-) trvalo mu to 30 minut me 2 minuty a nakonec mu konsole padla a 2 se neoeditovaly a tim padem padlo vsech 20 serveru protoze meli potrebovali stejny config.
„kdyz renkes blbovi ze je blb neurazis ho.“
Doufám, že se tedy nebudeš cítit uražen.
„duvod proc si myslim ze je tento tool na uplny prd je protoze jsem videl lidi pouzivat KDE teminal a editoval soubour pres vi na 20 serverech. stacilo soubor oeditovat na fileserver a potom ho jen poslat do tech 20 serveru ;-) trvalo mu to 30 minut me 2 minuty a nakonec mu konsole padla a 2 se neoeditovaly a tim padem padlo vsech 20 serveru protoze meli potrebovali stejny config.“
Tak to je ovšem důvod jak noha.