rc script, ktery se musi spustit posledni
Miroslav Lachman
000.fbsd at quip.cz
Tue Nov 25 23:27:43 CET 2014
Dan Lukes wrote on 11/25/2014 17:26:
> On 11/25/14 15:53, Miroslav Lachman:
[...]
> Pak rcorder nelze, co by hotove reseni, pouzit.
>
> Popravde receno, on stejne nejde pouzit.
>
> Z pozadavku soudim, ze se snazis vyhnout "falesnym poplachym", kdy bude
> ohlasena zavada sluzby, protoze uz (jeste) nebezi.
Ano, presne o to jde.
> V takovem pripade ale nepotrebujes monitorujici proces nastartovat pote,
> co nastarujes vsechny monitorovane sluzby, nybrz pote, co vsechny
> monitorovane sluzby zacnou bezet. Coz neni totez.
I o tomhle problemu vim, protoze treba MySQL, nebo OpenVPN se spousti na
pozadi, zatim co rc script uz vrati dal rizeni rc ke spousteni dalsich
scriptu.
[...]
> Staci, kdyz ji nastartujes ldykoliv - a ona nejprve po svem startu pocka
> nez vsechny monitorovane sluzby nastartuji (tim nemyslim pasivni cekani
> na timeout, ale aktivni cekani s jejich testovanim) behem ktereho
> nehlasi, ze ta-ktera sluzba nefunguje (protoze to je pri spousteni
> sluzby normalni) a teprve kdyz vsechno nastartuje prejde na normalni
> provoz.
Cele je to v podstate tak jak rikas. O rc scriptech neco malo
nastudovano mam, parkrat jsem i nejaky napsal. Takze primarne mi slo o
to, jestli neprehlizim neco, co zna nekdo jiny a me to jen nejak uniklo.
Napriklad to, jestli se nahodou rc.local nevola az po zpracovani vsech
/etc/rc.d/ a /usr/local/etc/rc.d/ :)
Tim, ze bych svuj monitoring spoustel az jako posledni, abych mohl
alespon nejak "sofistikovane odhadnout" ten potrebny timeout, kdy zacit
opravdu sledovat sluzby. Protoze nekdy se muze stat, ze nejaka sluzba
nabiha dele nez obvykle (treba kvuli DNS timeoutu, nebo nejakem recovery
po padu systemu) a to zdrzi i dalsi sluzby. Proto jsem chtel svuj script
spustit vzdy opravdu jako posledni a pak mit nejaky ten timeout, ve
kterem jeste nebudu sluzby skutecne monitorovat.
Prislo by mi to lepsi, nez spustit ten monitoring nekde uprostred
spousteni ostatnich sluzeb s nejakym "odhadnutym" timeoutem, ktery uz
ale nemuze vzit v potaz spousteni jinych sluzeb.
Ale cele to resim spis z nejakeho teoretickeho pohledu na vec. V praxi
to proste muzu spustit klidne tim @restart sleep 120 z cronu a holt se
nekdy stane, ze to zahlasi falesny problem po rebootu. Zas tak casto
servery nerebootuju.
2 Pavel Baculak - no s tim cronem, to je to, co jsem psal hned v tom
prvnim mailu = @reboot je v cronu "Run once, at startup of cron".
Coz muze mit zase vedlejsi efekt toho, ze "service cron restart" spusti
i tuhle udalost.
A bohuzel tam nema udalost pro shutdown, kde bych zase ten monitoring
potreboval vypnout jako prvni sluzbu ze vsech vypinanych.
Asi to nakonec udelam klasickym rc scriptem s dlouhym timeoutem pri
spusteni.
Mirek
More information about the Users-l
mailing list