Portál AbcLinuxu, 12. května 2025 07:53
Zdravím, nainstaloval jsem si program digitemp. Spouští se digitemp_DS9097. Tento program je na zjišťování teploty z čidla připojeného k počítači.
Mám takovýhle příkaz, který v terminálu funguje:
digitemp_DS9097 -q -a -s /dev/ttyS0 -d 60 -n 0 -l /var/www/teplomer/cidlo-outdoor.txt
Ovšem, když skrz Webmin zadám do Cronu nový úkol, dám aby ho spouštěl root, byl aktivní a příkaz dám úplně stejný, tak mi to do toho souboru nic nezapíše. (Opravdu jsem nezapomněl zkusit tlačítko spustit).
Kde dělám chybu?
digitemp_DS9097
plnou cestu. Cron občas mívá jinak nastavenou $PATH.
Jakou mu mám dát cestu? Nainstaloval jsem to z repozitářů Ubuntu (apt-get install digitemp). Tímto způsobem to spouštím a zatím jsem to spustil odkudkoliv.
which digitemp_DS9097
.
Tak cestu jsem tedy upravil takto:
/usr/bin/digitemp_DS9097 -q -a -s /dev/ttyS0 -d 60 -n 0 -l /var/www/teplomer/cidlo-outdoor.txt
A když to spustím, tak nic. Stále to stejné.
Možná jen dodám, že adresář teplomer je mountován pomocí fstab z flash disku.
Výpis z fstab:
/dev/sdb1 /var/www/teplomer auto rw,user,uid=xxx,gid=www-data,umask=0000,auto,sync 0 0
Takže jsem to zkusil. Funguje tedy výstup pomocí echo do souboru. Zkusil jsem i tohle /bin/echo ahoj > /var/www/teplomer/soubor
a také mi to tam zapsalo soubor a v něm bylo ahoj. Teď tedy nevím, kde mám hledat chybu.
v nekterych systemech (terba debian 3.1) jsem narazil na prijemnou vlastnost, ze v /etc/cron* to nemelo rado jine znaky nez pismenka a cisla. Nevim, jestli jsem tenkrat narazil na tecku nebo co, ale proste pokud to nebylo pojmenovane rozumne, nespoustel se script vubec. Nevzteka se to nekde v logu?
Problém jsem nakonec vyřešil, musel jsem zadat cd / && digi.....
a ještě jsem musel zadat parametr, aby se při každém spuštění zapsaly informace o čidle do souboru (tento krok se má udělat jednou a pak už nemusí, tady ho musím dělat furt).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.