Portál AbcLinuxu, 15. července 2025 08:17


Dotaz: nefunkční cron pod Gentoo

4.2.2010 11:33 Gentoo
nefunkční cron pod Gentoo
Přečteno: 311×
Odpovědět | Admin
Prosím, prosím, nefunguje mi cron pod Gentoo.
Dávky se nepouští a v logu je:
04-Feb-10 11:17  /usr/sbin/crond V3.2 dillon, started
04-Feb-10 11:17  failed user root parsing SHELL=/bin/bash
04-Feb-10 11:17  failed user root parsing PATH=/sbin:/bin:/usr/sbin:/usr/bin
04-Feb-10 11:17  failed user root parsing MAILTO=root
04-Feb-10 11:17  failed user root parsing HOME=/
04-Feb-10 11:17  Unable to scan directory /etc/cron.d!


Jediné co jsem vygooglil je, že chybí .profil uživatele. Jestli jsem to ale dobře pochopil tak by měl brát /etc/profile a /root/.profile pod kterým dávky běží být nutně nemusí... Netušíte někdo ?
Díky za nakopnutí. Luděk

Řešení dotazu:


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

Odpovědi

pavlix avatar 4.2.2010 13:33 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: nefunkční cron pod Gentoo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já bych to hádal spíš na nějakou špatnou konfiguraci... možná i syntaxi konfiguráků.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
4.2.2010 14:38 Gentoo
Rozbalit Rozbalit vše Re: nefunkční cron pod Gentoo
Je to čistá instalace. Dokonce v logu cronu se objeví že dávku spustil, ale kód jako i obyč. echo>soubor.txt se neprovede :-(
4.2.2010 17:36 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: nefunkční cron pod Gentoo

To je jedno, protože konfigurák je myslím z baselayout, tedy společný všem implementacím cronu.

Ještě si jednou přečtěte ty hlášky. failed user root parsing SHELL=/bin/bash jasně říká, že nerozumí řádku SHELL=/bin/bash v crontabu roota (ale asi to bude v systémovém crontabu).

4.2.2010 18:10 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: nefunkční cron pod Gentoo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na Gentoo Linux Cron Guide píšou:
It [Dillon's Cron] does not allow the specification of environment variables in crontabs
To by vysvětlovalo řádky 2 – 5. Šestý řádek – ověřil bych existenci adresáře a jeho práva.

Mimochodem, pro výpis zdrojáků v HTML (a tedy i na Abíčku) používejte tag <pre>, který zachová konce řádků. Ve vašem dotazu jsem to opravil – příště doporučuju alespoň zkontrolovat náhled.
5.2.2010 05:46 Gentoo
Rozbalit Rozbalit vše Re: nefunkční cron pod Gentoo

Omlouvám se za to pre, síla zvyku jak jsem zahlédl code. Náhled jsem dával, ale kontroloval jsem spíše svoje překlepy.

Zaremovat v crontab -e výše uvedené řádky jsem zkoušel. Samozřejmě je přestal hlásit. V logu se pak dokonce objevilo že dávky spouští, viz.:

05-Feb-10 04:50  FILE /var/spool/cron/crontabs/root USER root pid 17925 cmd root zalohaMysql
Nic z dávky se ale neprovedlo :-( ani když jsem dal hned na úvod echo do souboru.
Odebral jsem dcron a dal emerge vixie-cron. Pokud se ponechají řádky:
# Global variables
#SHELL=/bin/bash
#PATH=/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO=root
#HOME=/
zaremované, pak se vše rozeběhne jak má.

Netuším proč dcron stagnoval, na druhém serveru pod Mandrivou vše běží, ale starší verze a zřejmě došlo k nějakým změnám, které jsem nesledoval.

Děkuju Luděk
9.3.2010 16:46 Gentoo
Rozbalit Rozbalit vše Re: nefunkční cron pod Gentoo
Omlouvám se za prodlevu, dřív jsem se k tomu nedostal, chyba je nakonec velmi jednoduchá, jak psal kolega hned v první odpovědi:
Já bych to hádal spíš na nějakou špatnou konfiguraci... možná i syntaxi konfiguráků.

Takže se sečetli dva problémy, jeden na hlášky v konfiguračním souboru, které mu až tak nevadily a nespouštění z důvodu špatné syntaxe v řádcích. Důvěřoval jsem konfiguračnímu souboru, který byl v etc/crontab připravený z distribuce a jenom jsem dopsal své řádky. Bohužel tam bylo navíc jméno uživatele.
# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
59  *  * * *  root  rm -f /var/spool/cron/lastrun/cron.hourly
9  3  * * *   root  rm -f /var/spool/cron/lastrun/cron.daily
19 4  * * 6   root  rm -f /var/spool/cron/lastrun/cron.weekly
29 5  1 * *   root  rm -f /var/spool/cron/lastrun/cron.monthly
*/10  *  * * * root test -x /usr/sbin/run-crons && /usr/sbin/run-crons
správně je:
# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
59  *  * * *    rm -f /var/spool/cron/lastrun/cron.hourly
9  3  * * *     rm -f /var/spool/cron/lastrun/cron.daily
19 4  * * 6     rm -f /var/spool/cron/lastrun/cron.weekly
29 5  1 * *     rm -f /var/spool/cron/lastrun/cron.monthly
*/10  *  * * *  test -x /usr/sbin/run-crons && /usr/sbin/run-crons

Luděk

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.