mam problem ze skryptem i cronem. Mianowicie mam skrypt, który wysyła SMS'a gdy temperatura CPU, GPU i/lub twardziela będzie większa niż dana wartość. Ustawiłem w crontabie żeby skrypt wykonywał się co trzy minuty:
Kod: Zaznacz cały
kaka@debian:~$ crontab -l
# m h dom mon dow command
*/3 * * * * /home/kaka/check_temp >/home/kaka/plik
kaka@debian:~$
Kod: Zaznacz cały
kaka@debian:~$ cat plik
sob maj 19 21:27:02 CEST 2007
kaka@debian:~$
/var/log/syslog nic nie mówi.
Nie wiem gdzie i czego szukać, po prostu ręce opadają mi.
Dodam jeszcze, że gdy wykonam ręcznie skrypt to jest wszystko ok:
Kod: Zaznacz cały
kaka@debian:~$ sh check_temp
kaka@debian:~$ ./check_temp
kaka@debian:~$
Kod: Zaznacz cały
#!/bin/sh
strona="$(wget --timeout=5 -t 1 -q [url]http://www.miastoplusa.pl[/url] -O - 2>/dev/null)"
[ -z "$strona" ] && exit 1
date > /home/kaka/plik
GPU_temp="$(nvidia-settings -q gpucoretemp | sed '/Attribute/!d;{s/.*):\ //;s/\.//}' 2>/dev/null)"
HDD_temp="$(nc localhost 7634 | cut -d'|' -f4 2>/dev/null)"
CPU1_temp="$(< /sys/module/k8temp/drivers/pci:k8temp/0000:00:18.3/temp1_input)"
CPU2_temp="$(< /sys/module/k8temp/drivers/pci:k8temp/0000:00:18.3/temp3_input)"
tel_nr="123456789"
send_me_sms() {
/usr/bin/sms -g miastoplusa -n ${tel_nr} -m "$info" 2>&1 >/dev/null
return 0
}
for x in ${CPU1_temp:0:2} ${CPU2_temp:0:2}; do
if [ "$x" -ge "70" ]; then
info="Temp. Procesora : $x - komputer zostal wylaczony o $(date +%X)"
send_me_sms
sleep 3
shutdown -h now
else
if [ "$GPU_temp" -ge "70" ]; then
info="Temp. GPU o godz. $(date +%X): $GPU_temp stopni"
send_me_sms
fi
if [ "$HDD_temp" -ge "45" ]; then
info="Temp. HDD o godz. $(date +%X): $HDD_temp stopni"
send_me_sms
fi
if [ "${CPU1_temp:0:2}" -ge "50" ]; then
info="Temp. CPU1 o godz. $(date +%X): ${CPU1_temp:0:2} stopni"
send_me_sms
fi
if [ "${CPU2_temp:0:2}" -ge "50" ]; then
info="Temp. CPU2 o godz. $(date +%X): ${CPU2_temp:0:2} stopni"
send_me_sms
fi
fi
done
Z góry bardzo dziękuję za pomoc.
Pozdrawiam.
PS: oczywiście numer telefonu dobry podaję, tylko tutaj zmieniłem go