Fórum Root.cz

Hlavní témata => Software => Téma založeno: Jenda 26. 10. 2011, 17:35:41

Název: Problém se skriptem CRON i rc.d
Přispěvatel: Jenda 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.
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: chladic01 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.
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: Jenda 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á.
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: m 26. 10. 2011, 18:09:27
možná by pomohlo, kdybys ukázal, jak vypadá ta položka v crontabu
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: m 26. 10. 2011, 18:14:15
ještě taková hloupá otázka - běží ti vůbec ten crond? vypadá to, že nestartuje defaultně.
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: Jenda 26. 10. 2011, 18:16:45
Ano například příkaz
Kód: [Vybrat]
echo "Naměřeno!" >> /tmp/log.txt se provede.
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: Jenda 26. 10. 2011, 18:18:38
0 * * * * /opt/www/Databaze/hodina >> /tmp/Tlog.txt 2>&1
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: m 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.
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: jfila 26. 10. 2011, 18:49:27
To jsem také zkoušel:
-rwxrwxrwx    1 root     root          843 Oct 25 17:13 hodina
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: m 26. 10. 2011, 18:51:50
jak souvisí práva souboru hodina s právy souboru teplota.txt? :)
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: jfila 26. 10. 2011, 19:00:17
-rw-r--r--    1 root     root            7 Oct 26 18:59 teplota.txt
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: jfila 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
Název: Re: Problém se skriptem CRON i rc.d
Přispěvatel: jfila 30. 10. 2011, 19:39:19
Nějaké nové poznatky, návrhy či rady? ;)