Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

Cronproblem på Raspbian

Hej där.

Jag försöker få cron att snurra på min raspbian, men jag är ute och klampar i okänt vatten och vet inte vad jag gör för fel.

Efter lite meck har jag fått ordning på klockan åtminstone:

pi@386pi ~ $ date Thu Oct 1 18:07:24 CEST 2015

Gjorde det genom att lägga in detta i .profile:

TZ='Europe/Stockholm'; export TZ

Så... då när jag lägger in i crontab så borde jag väl referera till den tiden?

Min crontab ser ut såhär nu i testsfasen:

pi@386pi ~ $ crontab -l 07 18 * * * tdtool -n 1 > /dev/null 2>&1

Vilket jag tycker borde ha betytt att den anropat tdtool kl 18:07 som i sin tur tänt mina utelampor, men det gjorde den inte.

Kör jag bara tdtool -n 1 så funkar det fint.

pi@386pi ~ $ tdtool -n 1 Turning on device 1, Outside lights - Success

Snälla hjälp, vad är det jag missar?

Trädvy Permalänk
Inaktiv
Registrerad
Aug 2013

@rool
Vad händer om du kör följande:

7 18 * * * tdtool -n 1 >/dev/null 2>&1

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

Tack för tipset, men det blev ingen skillnad.

Körde

31 18 * * * tdtool -n 1 >/dev/null 2>&1

Kan jag få den att skriva ut det den tänkt göra i terminalen?

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Maj 2013

Har du kollat i /var/log/syslog ? Finns tdtool i $PATH för den användare(root?) som cron använder?

Trädvy Permalänk
Inaktiv
Registrerad
Aug 2013
Skrivet av rool:

Tack för tipset, men det blev ingen skillnad.

Körde

31 18 * * * tdtool -n 1 >/dev/null 2>&1

Kan jag få den att skriva ut det den tänkt göra i terminalen?

Det går också. Men känns som en jobbig väg att gå då det skall fungera med cron-jobs. Samt att du fortfarande måste förlita dig på exempelvis cronjobs.

Ta en titt på exemplet på följande länk så ser du grunden till hur du ska göra: http://www.cyberciti.biz/faq/how-to-write-output-to-terminal/

Lägger du till sökvägen i cron-jobbet.
Men ta en titt på vad @Aene skrev också. Kan vara trevligt att felsöka problematiken också än att bara kringgå den.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

/var/log/syslog har timestamps i UTC, kan det vara något?
Finns inget som visar att cron skulle ha försökt något vid den tidpunkten.

tdtool finns att hitta i $PATH

pi@386pi ~ $ find / -name tdtool /usr/local/bin/tdtool pi@386pi ~ $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Maj 2013

Var ett tag sedan jag pysslade med cron, men jag har för mig att om kommandot ger någon form av output så skickas det som ett mail till den användare som kör cron-kommandot. Så vad händer om du tar bort ">/dev/null 2>&1" från kommandoraden i cron. Finns det något nytt mail i /var/spool/mail och vad säger det?

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

Nu så, jag ändrade tiderna till UTC och då fick jag en träff i syslog

pi@386pi / $ crontab -l 51 16 * * * tdtool -f 1 >/dev/null 2>&1

pi@386pi / $ cat /var/log/syslog Oct 1 16:51:01 386pi /USR/SBIN/CRON[22603]: (pi) CMD (tdtool -f 1 >/dev/null 2>&1)

Dock utan effekt, men det antar jag beror på något fel i kommandot.

Trädvy Permalänk
Medlem
Registrerad
Jun 2011

Om jag har förstått det hela rätt så är det inte sakert att cron använder samma $PATH som din användare. Mer specifikt så har den inte /usr/local/*-sökvägarna.

MSI Z77A-GD65 | Intel Core i5 3570K @ 4,2 GHz | Palit Geforce GTX 1070 JetStream | 16 GB Corsair Vengeance 1600 MHz

You must come with me, young ones, for I am the grim reaper.

Trädvy Permalänk
Medlem
Plats
Långtbortistan
Registrerad
Mar 2007

Om du byter ut

>/dev/null 2>&1

mot

>/home/pi/tdtool.log

, vad står det i filen sen?

Skickades från m.sweclockers.com

Det finns bara två sorters hårddiskar: de som har gått sönder och de som skall gå sönder.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

Tack alla. Problemet var som @L'ombra konstaterade, att Cron inte kör med samma $PATH som användaren.
Lade till full sökväg + tiderna i UTC så funkade det.

Tack och bock!