Problém se skriptem CRON i rc.d

Jenda

Problém se skriptem CRON i rc.d
« kdy: 26. 10. 2011, 17:35:41 »
Mám problém se spouštěním skriptu na OpenWRT jak pomocí CRONu tak i rc.d. Skriptík jsem si odladil a pokud ho pustím jako root na routeru z příkazové řádky, tak se provede správně:
Kód: [Vybrat]
#!/bin/ash
Teplota=`egrep -o "[0-9.+-]+" /tmp/teplota.txt`
#echo $Teplota
sqlite3 /opt/www/Databaze/teploty.db "INSERT INTO venku VALUES (NULL ,DATETIME('NOW'),'$Teplota');" &
echo "Naměřeno!" >> /tmp/log.txt
Problém s tím, že neznal egrep a sqlite (nainstalované na /opt) jsem vyřešil přidáním:
Kód: [Vybrat]
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin
export LIB=/opt/lib:/opt/usr/lib
export LD_LIBRARY_PATH=/opt/lib:/opt/usr/lib
Kde je chyba? Při spuštění CRONem se všechny příkazy ve skriptu provedou jen egrep -o "[0-9.+-]+" /tmp/teplota.txt nevrátí nic? Jaký uživatel u OpenWRT spouští příkazy CRONu?
Ani příkaz
Kód: [Vybrat]
egrep -o "[0-9.+-]+" /tmp/teplota.txt  >> /tmp/Tlog.txt 2>&1 nevrátí nic a ani nevypíše chybu.


Re: Problém se skriptem CRON i rc.d
« Odpověď #1 kdy: 26. 10. 2011, 17:37:40 »
Vedz, ze cron nenacitava parametre tvojho prostredia, takze nema ani v PATH nic.
Musis svoje prikazy pustat s absolutnou cestou.

Jenda

Re: Problém se skriptem CRON i rc.d
« Odpověď #2 kdy: 26. 10. 2011, 17:52:10 »
To jsem také udělal:
Kód: [Vybrat]
/bin/egrep -o "[0-9.+-]+" /tmp/teplota.txt  >> /tmp/Tlog.txt 2>&1Ale stejně nic neudělá.

m

Re: Problém se skriptem CRON i rc.d
« Odpověď #3 kdy: 26. 10. 2011, 18:09:27 »
možná by pomohlo, kdybys ukázal, jak vypadá ta položka v crontabu

m

Re: Problém se skriptem CRON i rc.d
« Odpověď #4 kdy: 26. 10. 2011, 18:14:15 »
ještě taková hloupá otázka - běží ti vůbec ten crond? vypadá to, že nestartuje defaultně.


Jenda

Re: Problém se skriptem CRON i rc.d
« Odpověď #5 kdy: 26. 10. 2011, 18:16:45 »
Ano například příkaz
Kód: [Vybrat]
echo "Naměřeno!" >> /tmp/log.txt se provede.

Jenda

Re: Problém se skriptem CRON i rc.d
« Odpověď #6 kdy: 26. 10. 2011, 18:18:38 »
0 * * * * /opt/www/Databaze/hodina >> /tmp/Tlog.txt 2>&1

m

Re: Problém se skriptem CRON i rc.d
« Odpověď #7 kdy: 26. 10. 2011, 18:40:54 »
hm, divné. ještě bych se ujistil, že ten /tmp/teplota.txt má v pořádku práva. ale v tom to asi nebude, ty cronjoby se zřejmě spouští s právy roota.

jfila

Re: Problém se skriptem CRON i rc.d
« Odpověď #8 kdy: 26. 10. 2011, 18:49:27 »
To jsem také zkoušel:
-rwxrwxrwx    1 root     root          843 Oct 25 17:13 hodina

m

Re: Problém se skriptem CRON i rc.d
« Odpověď #9 kdy: 26. 10. 2011, 18:51:50 »
jak souvisí práva souboru hodina s právy souboru teplota.txt? :)

jfila

Re: Problém se skriptem CRON i rc.d
« Odpověď #10 kdy: 26. 10. 2011, 19:00:17 »
-rw-r--r--    1 root     root            7 Oct 26 18:59 teplota.txt

jfila

Re: Problém se skriptem CRON i rc.d
« Odpověď #11 kdy: 26. 10. 2011, 19:16:05 »
Práva jsem nastavil, ale nic. Problém bude asi opravdu s tímto souborem, příkaz normálně funguje.
echo "19856.5sdg" | egrep -o "[0-9.+-]+"  >> /tmp/Tlog.txt 2>&1

jfila

Re: Problém se skriptem CRON i rc.d
« Odpověď #12 kdy: 30. 10. 2011, 19:39:19 »
Nějaké nové poznatky, návrhy či rady? ;)