Fórum Root.cz
Hlavní témata => Software => Téma založeno: 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ě:
#!/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.txtProblém s tím, že neznal egrep a sqlite (nainstalované na /opt) jsem vyřešil přidáním:
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/libKde 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říkazegrep -o "[0-9.+-]+" /tmp/teplota.txt >> /tmp/Tlog.txt 2>&1 nevrátí nic a ani nevypíše chybu.
-
Vedz, ze cron nenacitava parametre tvojho prostredia, takze nema ani v PATH nic.
Musis svoje prikazy pustat s absolutnou cestou.
-
To jsem také udělal:
/bin/egrep -o "[0-9.+-]+" /tmp/teplota.txt >> /tmp/Tlog.txt 2>&1Ale stejně nic neudělá.
-
možná by pomohlo, kdybys ukázal, jak vypadá ta položka v crontabu
-
ještě taková hloupá otázka - běží ti vůbec ten crond? vypadá to, že nestartuje defaultně.
-
Ano například příkaz
echo "Naměřeno!" >> /tmp/log.txt se provede.
-
0 * * * * /opt/www/Databaze/hodina >> /tmp/Tlog.txt 2>&1
-
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.
-
To jsem také zkoušel:
-rwxrwxrwx 1 root root 843 Oct 25 17:13 hodina
-
jak souvisí práva souboru hodina s právy souboru teplota.txt? :)
-
-rw-r--r-- 1 root root 7 Oct 26 18:59 teplota.txt
-
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ějaké nové poznatky, návrhy či rady? ;)