Portál AbcLinuxu, 10. května 2025 05:41

Dotaz: cron - sekundy

31.1.2010 10:58 cron
cron - sekundy
Přečteno: 1110×
Odpovědět | Admin
Potrebujem spustat jeden script kazdu 1 minutu a 58 sekundu. Da sa to cez cron?

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

Odpovědi

31.1.2010 11:01 pupu | skóre: 31
Rozbalit Rozbalit vše Re: cron - sekundy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neda, cron neumi sekundy.
31.1.2010 11:38 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: cron - sekundy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Leda přes sleep.
In Ada the typical infinite loop would normally be terminated by detonation.
31.1.2010 11:59 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron - sekundy
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pokud chcete opravdu periodu minuta a 58 sekund, tak jedině vlastním nástrojem. Nebudete-li moc trvat na přesnosti, stačilo by něco jako

  while true; do
    co_chcete_spustit &
    sleep 118
  done

Tipoval bych ale, že spíš potřebujete úlohu spouštět s periodou jedné minuty, ale ne v celou minutu, ale v celou minutu a 58 sekund. Pak stačí nechat přes cron spouštět po minutě skript, do kterého na začátek vložíte 'sleep 58'.

31.1.2010 12:56 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: cron - sekundy
Pak stačí nechat přes cron spouštět po minutě skript, do kterého na začátek vložíte 'sleep 58'.

Toto ale predsa logicky sposobi spustanie raz za minutu (tzn. ako keby tam ten sleep ani nebol), len to nebude na zaciatku minuty ale na jej konci. Je potrebne urobit 'sleep 118'.
31.1.2010 13:02 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron - sekundy
Přečtěte si, prosím, i větu, která je před tou, kterou jste ocitoval. Nebo, ještě lépe, celý ten příspěvek.
pavlix avatar 31.1.2010 13:44 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: cron - sekundy
Hehe, to jsou hezký vejžblebty, tohle :D.

A co myslíš, že to bude dělat s tím sleep 118? Bude to pouštět každnou minutu, jen na jením konci, stejně jako sleep 58, jen bude vše o minutu posunuté.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
31.1.2010 16:47 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: cron - sekundy
Ved o to islo, si precitaj povodnu otazku :) proste interval 1 minuta a 58 sekund.
31.1.2010 21:03 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: cron - sekundy
Mně připadá "každou 1 minutu a 58 sekundu", že interval je jedna minuta, a první spuštění je v čase 0 minut a 58 sekund.

Je to podle vzoru "každou středu ve 3 odpoledne".
In Ada the typical infinite loop would normally be terminated by detonation.
31.1.2010 21:10 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron - sekundy
Taky bych řekl, že to tak bylo myšleno, hlavně je dost nepravděpodobné, že by někdo opravdu potřeboval právě periodu 118 sekund. To spíš jde o to, aby to bylo na konci minuty místo na začátku.
pavlix avatar 31.1.2010 22:56 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: cron - sekundy
Nauč se číst a používat hlavu. Příspěvek před tím tvým máš vysvětlený, proč je to co jsi napsal o intervalu 1min 58s totální volovina, když to pouštíš v každou minutu.

Když něco pustíš každou minutu, má to interval 1min.

Když něco pustíš každou minutu a dáš před to sleep 58s, je to interval 1min.

Když něco pustíš každou minutu a dáš před to sleep 118s, pořád je interval 1min.

Nehledě na původní otázku jsi změnou zpoždění interval spouštění nijak neovlivnil.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
Max avatar 31.1.2010 23:10 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: cron - sekundy
Nemyslím si. Každou minutu spustíš skript, který v sobě bude mít sleep 58s, takže se docílí toho, že se daná úloha (po tom sleepu) bude skutečně spouštět každých 1:58
# cron spustí každou minu script se sleepem :

# spuštění (cronem)
1:00 run sleep 58
# provedení (úlohy po sleepu 58)
1:58
# spuštění (cronem)
2:00 run sleep 58
# provedení (úlohy po sleepu 58)
2:58
# spuštění (cronem)
3:00 run sleep 58
# provedení (úlohy po sleepu 58)
3:58

atd.
Takže blbost to není. Spouštěný script se sleepem má interval jednu minutu, ale samotný příkaz, jenž se provede po sleepu ne, jelikož sleep změní časování a posune interval jinam. O první část intervalu se postará cron a o druhou část sleep 58.
Zdar Max
Měl jsem sen ... :(
Max avatar 31.1.2010 23:14 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: cron - sekundy
Jééé, hehe :), už bych měl jít spát. Je to krásně vidět :).
Zdar Max
Měl jsem sen ... :(
pavlix avatar 31.1.2010 23:36 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: cron - sekundy
Jo to bys teda měl... ale mam radost, že tam ten interval 60 sekund neboli jedné minuty aspoň někdo vidí :D.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
1.2.2010 00:45 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: cron - sekundy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zde: http://www.linuxsoft.cz/article.php?id_article=1178 píšou mimo jiné o fcron který umožňuje nastavit i sekundy.
Jsem mimořádně obtížný případ
1.2.2010 06:25 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: cron - sekundy
asi jsem slepej, ale u fcronu jsem to už předtím hledal a nenašel, takže kde to tam vidíte?
In Ada the typical infinite loop would normally be terminated by detonation.
urys avatar 1.2.2010 09:44 urys | skóre: 3 | Teplice
Rozbalit Rozbalit vše Re: cron - sekundy
třeba tady: http://fcron.free.fr/doc/en/fcrontab.5.html

v tom článku se pouze zmiňuje možnost, ale není tam popsáno
Uživatel GNU/Linux: #462745
1.2.2010 11:18 JF | skóre: 23
Rozbalit Rozbalit vše Re: cron - sekundy
Ten sleep 58 v cronu nebude moc fungovat.

Pokud se nestihne skript dokoncit za 2s, tak se novy nespusti a pocka se na zacatek dalsi minuty. Takze to bude vynechavat.
1.2.2010 11:30 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: cron - sekundy
Znáte nějakou implementaci cronu, která se tak (defaultně) chová? Já jsem na takovou zatím nenarazil, všechny spouštěly novou instanci úlohy, aniž by kontrolovaly, že předchozí už skončila.
1.2.2010 12:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: cron - sekundy
Pokud to tak nějaký cron dělá, stačí z toho prvního skriptu forknout jiný skript, který už klidně čekat může (a ten skript spuštěný z cronu se mezitím dávno ukončí).
1.2.2010 14:15 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: cron - sekundy
Některé bastardní programy (nagios) čekají komplet na všechny svoje potomky.
In Ada the typical infinite loop would normally be terminated by detonation.
1.2.2010 14:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: cron - sekundy
V shell skriptu, který si sám napíšete, si to můžete udělat jak chcete ;-)
1.2.2010 14:14 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: cron - sekundy
třeba tady: http://fcron.free.fr/doc/en/fcrontab.5.html

Tam jsem se díval (a teď ještě jednou) a nevidím to tam.
In Ada the typical infinite loop would normally be terminated by detonation.

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.