On 05/27/10 14:09, Nádhera Roman:
Mám skript, který když spustím ručně, tj. z příkazového řádku, tak
normálně funguje.
Když jej však nechám spustit pomocí cron, tak se neprovede a do lokální
pošty přibude zpráva, že nebylo možno  nalézt programy healthdc a sendEmail.
Oba programy jsou právě použity v onon skriptu.
Jsou zadány včetně plné cesty.

Coz naznacuje, ze provlem NENI v rozdilnem nastaveni v PATH...

Mohl by to byt problem prav (pokud se ruzne spousteji pod jinym uzivatelem nez z CRONu) - k nim nebo ke knihovnam, ktere pouzivaji.

A jeste par jinych spise nepravdepodobnych okrajovych moznosti.

Zkus to scriptu napsat pred prvni prikaz 'set +x' pripadne zkusit programy spustit jako tentyz uzivatel, ktery je spousti z CRONu

Ten skript vypadá takto:

#!/bin/sh
#

/usr/local/bin/healthdc -H 127.0.0.1>  health.html

/usr/local/bin/sendEmail -t [email protected]   \
           -u "toaster computer health"         \
           -m "Temperature in the box"         \
           -s 192.168.1.1                     \
           -f [email protected]        \
           -a health.html


Koukal jsem se na jiné skripty například v /etc/rc.d


A to zase pozor - scripty v rc.d maji dost specialni vlastnosti - jak kvuli tomu, ze jsou vlastne spis konfiguracemi, zatimco vlastni (rozsahly) vykonny kod v nich vubec neni (je includovan) tak kvuli mechanismu jejich spousteni.

Kdyz se podivas, rekneme, zrovna na rc.d/cron, tak v nem nenajdes jediny prikaz, ktery by cikoliv (a tedy ani cron) spoustel.

Porovnavat tvuj "obycejny" script s tim, co lze nalezt v rc.d spis k objevu ve veci hledani tveho problemu nepovede.

Mimochodem, ty vis v jakem adresari cron "stoji", kdyz tvuj script spousti ? Ja, ze tam mas to presmerovani do health.html bez cesty do current adresare ?


                                        Dan

--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem