Portál AbcLinuxu, 22. července 2025 22:40


Dotaz: Syntaxe v cronu

14.6.2005 19:10 Doktor
Syntaxe v cronu
Přečteno: 195×
Odpovědět | Admin
Rad bych se zeptal na nasledujici vec. Potreboval bych spoustet cron kazde 2 dny v 0:00 hodin...

Bude fungovat toto: 0 */48 * * * /blabla..... nebo toto: 0 0 */2 * * /blabla.....

Nebo to budu muset nastavit na: 0 1-31/2 * * * /blabla....., to pak ale nevim jak se to bude chovat pri prechodu na nasledujici mesic (30 dnu/31 dnu pripadne unor 28 dnu).
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.6.2005 19:37 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejjednoduší řešení je spouštět každý den skript, který zjistí, jestli je to první nebo druhý den, a buď skončí, nebo spustí úlohu...
14.6.2005 20:19 Mortal | skóre: 26 | blog: mortals_log
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak to vyzkoušejte ale né na dnech, to by trvalo moc dlouho ale na minutách nějak takhle

*/48 * * * * /script

a pak sem napište co jste zjistil :-)
V pekle jsou samé diskety a ďábel je velká disketová mechanika
14.6.2005 20:34 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Tohleto
*/48 * * * * /script
fungovat IMHO taky nebude. Skript se spustí jen tehdy, dá-li minuta podělená číslem 48 nulový zbytek. Čemuž vyhovují čísla 0 a 48.
14.6.2005 20:31 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jojo, bohužel se to musí řešit externím skriptíkem. tohle:
0 */48 * * * /blabla
se spustí jen tehdy, kdy hodina podělená číslem 48 dá nulový zbytek. Což je pouze nula hodin(půlnoc)
0 0 */2 * * /blabla
Toto se zase spustí jen když je datum dělitelné dvěma. Problém nastane, jak píšeš, na rozhraní nepohodlných měsíců.
0 1-31/2 * * * /blabla.....
se spustí jen když je _hodina_ mezi 1-31 a zbytek po dělení dvěma je nula. Ale to je asi překlep, že?

Podle mě by vůbec nebyl problém cron trochu upravit. Jenže nevím, s jakým nadšením by to přijali hard_core unixáři a zastánci starých dobrých pořádků, kdyby se syntaxe stala nekompatibilní. Já osobně bych to uvítal.
14.6.2005 20:39 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Syntaxi by nebylo zapotřebí upravovat, kdybys jen chtěl, aby fungovalo

*/70 * * * * /bin/foo

Problém ovšem je, že když napíšeš

*/16487 * * * * /bin/foo

tak od kdy se má začít počítat? Jednoznačné pravidlo vixie cronu ,počítá se uvnitř každé hodiny` aplikovat nejde.
14.6.2005 21:21 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Syntaxe v cronu
No právě proto by se musela upravit syntaxe. Kdyby někdo chtěl opakovat nějaký děj s železnou pravidelností bez ohledu na letní/zimní čas, tak by k tomu stačily dvě konstanty. Zadával by se dělitel a zbytek po dělení. Zpracovával by se počet sekund od 1.1.1970. Pravda, bylo by to trochu nepohodlné, ale zato obecné ;-)
Původní schopnosti cronu bych samozřejmě ponechal.
A vůbec, když už stavím vzdušné zámky - atd a crond jsou si dost podobné, určitě by bylo fajn je nějak sjednotit. No dobrá, už mlčím.
14.6.2005 21:43 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Syntaxe v cronu
aha, neco jako, ze by se ten skript, co se ma poustet kazde dva dny, sam pomoci at zase nascheduloval ... zajimave ;-) ... ale co kdyz ten server treba kazdy den spadne? to nam to pobezi porad (za predpokladu, ze mame nastaveno, aby se skript pustil pri bootu a pak zascheduloval)
Urine should only be green if you're Mr. Spock.
14.6.2005 21:44 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Když už by člověk měl měnit syntaxi crontabu, tak pořádně, aby šly lidsky zapsat i věci typu ,v poledne, první středu v měsíci`.
14.6.2005 23:05 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Syntaxe v cronu
To by šlo i teď, kdyby nějaký inteligent nevymyslel, že den v týdnu a den v měsíci se orují, přestože všechno ostatní se anduje…
14.6.2005 21:41 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Není jednodušší spouštět skript každý den, na začátku se podívat, jestli je zrovna sudý nebo lichý den a podle toho pokračovat nebo hned skončit?
14.6.2005 21:44 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Syntaxe v cronu
14.6.2005 20:32 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Syntaxe v cronu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Fungovat to nebude, ,divné` intervaly v cronu nefungují správně -- přinejmenším ne v normálním vixie. Nejjednodušší řešení je, co navrhuje ivok.

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.