Ja, eftersom jag har svårt att släppa grejor och dessutom har lite för mycket tid så grävde jag ner mig i detta... 
Problemet är som jag sa tidigare att cron kör sina job i en mycket mer begränsad miljö än den vanliga. Framför allt brukar det skilja i PATH. När jag körde ett testscript som printade ut cron:s miljö så fick jag detta:
Kod:
root@lucid:~# cat /tmp/env.log
HOME=/root
LOGNAME=root
PATH=/usr/bin:/bin
LANG=en_GB.UTF-8
SHELL=/bin/sh
PWD=/root
Lite sparsamt alltså. Jag misstänkte att det var skillnaden i PATH som var problemet. Den normala PATH är PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.
Jag testade genom att starta ett enkelt sh och variera PATH:en och det var det som gjorde skillnaden ifall det fungerade eller inte. Så utan att gräva ner sig mer i Debians lib-rutiner så verkar det smidigaste sättet att lösa problemet vara att tillverka ett litet script som kompletterar PATH när cron-job:et körs.
Jag tillverkade ett script som jag lade i /usr/local/bin. Scriptet döpte jag till oscam_cron_restart.sh och det ser ut så här:
Kod:
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
/etc/init.d/oscam restart
Genom att anropa detta script från cron i stället för att anropa /etc/init.d scriptet direkt så får du med dig PATH:en som behövs. Du kan skapa scriptet med nano-editorn som vanligt, lägg det i /usr/local/bin och glöm inte att göra scriptet körbart med:
chmod +x /usr/local/bin/oscam_cron_restart.sh
I crontab lägger du sedan in en rad typ:
01 13 * * */2 /usr/local/bin/oscam_cron_restart.sh
så borde det funka!