Portál AbcLinuxu, 12. května 2024 01:04


Dotaz: cron

1.1.2011 17:05 kysučan | skóre: 14
cron
Přečteno: 264×
Odpovědět | Admin
Je mozne v crone(alebo inak) nejakym spôsobom oddelit dve naplanovane ulohy?Ide o to,aby nedoslo ku kolizii.Mam v crone naplanovany restart aplikacie(raz za den),no takisto sa kazde tri minuty spusta kontrola behu tejto aplikacie,pokial tato nebezi,tak sa restartuje. 5 3 * * * /script/aplikacia.sh restart */3 * * * * /script/aplikacia_check.sh

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

poky74 avatar 1.1.2011 17:22 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: cron
Odpovědět | | Sbalit | Link | Blokovat | Admin

Udělal bych to kontrolou, třeba v tom checku... Grepneš ps a jestli se ta aplikace zrovna restartuje tak to nachvilku uspat...

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
poky74 avatar 1.1.2011 17:23 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: cron

Opačný postup samozřejmě možný

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
1.1.2011 19:56 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: cron
Dik za tip,ale velmi sa mi to nepozdava.Skôr som mal na mysli spôsob,ako dosiahnut,aby obe ulohy nemohli byt spustene v ten isty cas.Mozno bude stacit dat do checkscriptu oneskorenie.Pripadne existuje zapis,ktory by danu ulohu spustal napr. v neparne minuty?
poky74 avatar 1.1.2011 20:10 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: cron

Omlouvám se, ale obávám se že zcela nerozumím významu slova "neparným", tak váš prosím o osvícení. Bez znalosti definice je těžké poradit :)

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
1.1.2011 20:49 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: cron
neparny-lichy.Teda ak by som restart zapisal na 4 3 * * *,teda parnu-sudu minutu, tak po zapise checkscriptu na neparnu-lichu minutu,by sa tieto dve ulohy nemohli stretnut.Snad by slo tie minuty vymenovat 1,3,5....,no neexistuje elegantnejsi zapis?
1.1.2011 21:05 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron
Můžete zkusit 1-59/2, ale nejsem si jistý, jak moc je to univerzální.
1.1.2011 22:24 marian34
Rozbalit Rozbalit vše Re: cron
Ok,funkcne,dik...
1.1.2011 23:00 pavel
Rozbalit Rozbalit vše Re: cron
Nebylo by jednodušší v tom skriptu 1 x za den dopsat nejprve ukončení kontroly, a pak tu kontrolu znovu spustit? Něco jako:
#!/bin/bash

#Zabit kontrolni program
[ "$(/usr/bin/pgrep -x nazev-kontrolniho-programu)" ] && kill  $(pgrep -x nazev-kontrolniho-programu)
#Muj restart programu.....
#
#Spustit kontrolni program
2.1.2011 12:31 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron

Ten kontrolní program se spouští periodicky cronem, takže vaše řešení nevyloučí, že ho cron za běhu skriptu spustí znovu - věty typu "ten skript zaručeně nikdy nepoběží déle než minutu" jsou totiž spolehlivou předzvěstí budoucích problémů.

Takže bych to řešil spíš vyhrazeným souborem ve /var/run, který si skript na začátku zamkne (příkaz flock) a když je zamčený, počká, až se uvolní. U kontroly asi bude lepší použít neblokující režim a pokud je zamčeno, kontrolu vynechat; tím se zároveň vyřeší situace, kdy se kontrola spustí znovu dřív než doběhne předchozí.

2.1.2011 12:34 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron
Ještě poznámka. To zabíjení programu podle jména řeší příkaz pkill.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.