perl + crontab + archlinux + szenzorok

 ( kollatht | 2012. szeptember 6., csütörtök - 12:11 )

Sziasztok!

Van egy rém egyszerű perl scriptem amit cronból szeretnék futtatni, hőmérő szenzoroktól gyűjt információt majd azt egy RRD adatbázisba lementi, és ki grafikázza egy png-be. Ez most kicsit lebutítva fut, szenzorok nélkül, az alaplapon lévő hőmérő és az lmsensors segítségével, de ez talán annyira nem is fontos.

1. Ha kézzel futtatom tökéletesen lefut, bekerül az adatbázisba az érték, és felkerül a png-re is.
2. Ha crontab futtatja nem kerül felvázolásra, de a png-t tovább lépteti, csak épp érték nem kerül fel
3. A crontab az előző pont alapján és logból nézve is biztosan lefuttatja a scriptet
4. Minden szóban forgó file írható olvasható mindenki számára a fellépő hibák kiküszöbölése végett.

Olyan mintha a perl környezetben lévő változó nem kerülne átadásra az RRD adatbázis felé, amikor cron futtatja, az egész egy pár hete telepített archlinux alatt fut.

Szerintem valami triviális dolog van amit nem látok, ebben szeretném segítségetek kérni.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ha jól tippelek, a cronban közvetlenül a .pl fájlt hívod.
Ha így van, akkor az a sejtésem, hogy az RRD-hez kapcsolódáshoz van szükség olyan környezeti változóra, ami a shell profilodban mindig ott van - a cron mezitlábas környezetével futó kód viszont mit sem tud arról.

Megoldás: burok szkriptből hívni a .pl-t, vagy a .pl-ben manipulálni az inkriminált változót.

Kieg.: ha a sztenderd könyvtáraktól eltérő helyen ülnek az rrd binárisai, a fenti rész a PATH-ra, LIBPATH-ra és hasonszőrűek kiegészítésére szűkül.

Ön nyert! Betettem egy bashscript-be, és beírtam az eléréseket végig, pedig a .pl scriptben szépen megvolt adva hogy ki hova kerüljön, változókkal...

Köszi szépen!

-
A kevés tudás veszélyes. A sok is. /Albert Einstein/