Portál AbcLinuxu, 14. května 2025 01:12

Dotaz: Problém s crontab

27.3.2010 02:37 Joe Doe | skóre: 5
Problém s crontab
Přečteno: 380×
Odpovědět | Admin
Ahoj, potřeboval bych poradit ohledně svého problému s crontab, který edituji přes:
sudo crontab -e
Ve své systémové crontab mám tedy potom možnost k editování:
SHELL=/bin/bash
HOME=/home/michal
PATH=/usr/sbin:/usr/bin:/sbin:/bin
# m h  dom mon dow   command
*/1 * * * * /sbin/ifconfig eth0 |/bin/grep -e 'inet adr' |/bin/sed 's_.*inet adr:\([0-9.]*\) .*_\1_'  > /home/michal/crontab_test.log
Vím, že je to blbost mít v cronu roota příkaz na parsování IP adresy, ale ve skutečnosti je to tak, že v cronu spouštím jeden dlouhý skript, jehož součástí je právě i tento příkaz.

Pokud příkaz spustím normálně přes sudo nebo přímo jako root, tak my IP adresa vyleze. Problém ale je, že ten cron mi nedá nic.

Můžete prosím poradit, kde dělám chybu?

P.S. Na konci crontabu mám prázdný řádek

Řešení dotazu:


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

Odpovědi

27.3.2010 03:19 iji | skóre: 29
Rozbalit Rozbalit vše Re: Problém s crontab
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ve skriptu, ktery je volan z cronu, pravdepodobne pocitas s promennymi prostredi, ktere si vsak cron nenacte. Jelikoz z cronu spoustis ve skutecnosti skript, tak jej pust interpretrem ve verbose rezimu. To, co cron "posbira" z stdout a stderr, ti po dobehnuti skriptu odesle mailem. A budes vedet vic.
27.3.2010 05:29 Franta Hanzlik
Rozbalit Rozbalit vše Re: Problém s crontab
Odpovědět | | Sbalit | Link | Blokovat | Admin
Systémový crontab (/etc/crontab) má jako šestý parametr jméno uživatele, pod kterým bude příslušný příkaz spuštěn.
27.3.2010 08:18 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Problém s crontab
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jseš si jistý že edituješ správný crontab ?

Proč to edituješ pomocí sudo ?

Normálně edituj svůj vlastní když to spouštíš pod uživatelem. Tj crontab -e.

Další věc ifconfig je přežitek používej ip.

Dále není vhodné do crontabu dávat hromadu příkazů, lepší je napsat potřebný skript a potom ho pouze z crontabu spustit.
30.3.2010 19:05 Joe Doe | skóre: 5
Rozbalit Rozbalit vše Re: Problém s crontab
Ano, potřebuji crontab roota, protože skript, který budu spuštět, bude krom IP adresy dolovat také další informace o diskovém poli (tam už je nezískám jinak než přes sudo).

Proč ip namísto ifconfig? ifconfig se mi zdá přehlednější.

Každopádně díky za radu, přestože byl problém v locale (viz níže).
31.3.2010 03:32 iji | skóre: 29
Rozbalit Rozbalit vše Re: Problém s crontab
Protoze az napr. budes mit na jedne NIC navesenych vice IP adres, tak se nebudes stacit divit, co ifconfig bude prezentovat.
31.3.2010 15:43 Joe Doe | skóre: 5
Rozbalit Rozbalit vše Re: Problém s crontab
Tak to se mi zatím ještě nestalo :D Ale díky za vysvětlení.
Řešení 1× (Joe Doe (tazatel))
randy avatar 27.3.2010 08:43 randy | skóre: 21 | Hviezdoslavov
Rozbalit Rozbalit vše Re: Problém s crontab
Odpovědět | | Sbalit | Link | Blokovat | Admin
predpokladam, ze root pouziva LANG=en_EN, takze by malo stacit zmenit 'inet adr' na 'inet addr'.
R>
30.3.2010 18:59 Joe Doe | skóre: 5
Rozbalit Rozbalit vše Re: Problém s crontab
To je ono! Díky!
31.3.2010 16:25 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problém s crontab
Když už, tak je lepší nespoléhat ani na to a explicitně ho spustit s LANG=C. Kdyby ovšem místo (už více než 11 let) obsolentního ifconfig použil raději ip, tak by si (kromě jiného) starosti s lokalizací ušetřil.

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.