Symlink problem tillsammans med Cron

Generella Linux-frågor och frågor gällande Linuxmjukvara som saknar egen forumkategori skall postas i detta forum
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

Jag har ett ytterst skumt problem som gäller en symlink tillsammans med cron. jag har skappat en symlink enligt...

Kod: Markera allt

sudo ln -s /opt/rrdtool-1.4.4/bin/rrdtool /usr/local/bin/rrdtool
syftet med länken är att slippa skriva sökvägen till rrdtool varje gång. Det funkar utmärkt i bash. Jag har en del script som körs med hjälp av cron och i dom skripten så används rrdtool för att uppdatera några rrd-filer.

Om jag kör scripten själv i bash så funkar dom, rrd-filerna uppdateras som dom ska. MEN, när scripten körs via cron så funkar det inte! Jag har testat att ändra i scripten så att hela sökvägen finns till rrdtool och DÅ funkar det. Dvs något fel är det med min symlink.

Cron uppgifterna ligger för användaren root. Jag kan köra scripten i bash både via vanlig användare och via root (sudo) med gott resultat, men med cron för root vill det sig inte.

Jag hittar inge fel i /var/log/syslog men jag ser att cron jobben går som dom ska.

Tipps någon?
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

Om du i samma script som triggas från cron adderar raden
echo $PATH >/var/tmp/slasknamn.log

Ingår /usr/local/bin/ i den pathen?
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

En sak till, blir det samma problem om du använder en hård länk istället för en symbolisk?
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

ska kolla...

jag har under tiden sedan jag skrev googlat och även postat på ubuntu-se och också kommit fram till att det har med $PATH för cron att göra...

Tydligen skall man kunna lägga till fler $PATH för cron i själva cronfilen, testar det just nu, återstår att se om det funkar.
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

CirruZZ skrev:Tydligen skall man kunna lägga till fler $PATH för cron i själva cronfilen, testar det just nu, återstår att se om det funkar.
Det funkade nu! Det konstiga är att i tidigare versioner av ubuntu så har jag inte behövt lägga till fler $PATH för att få det att funka, nu kör jag 10.04.
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

Misstänkte att det var det som var felet.
Tja, $PATH är ju inget mer magiskt än en variabel, så den kan du sätta precis var du vill. Se bara till att den hämtar informationen från rätt ställe, så att du inte sitter med föråldrad information i cron jämfört med omgivningen nån gång i framtiden. Det kan bli klurigt att felsöka... :)
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

Dowser skrev:...Se bara till att den hämtar informationen från rätt ställe, så att du inte sitter med föråldrad information i cron jämfört med omgivningen nån gång i framtiden. Det kan bli klurigt att felsöka... :)
Hur menar du då?
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

Jag menar om inte använder dig av PATH-variabeln från /etc/environment utan använder någon egen konstruktion så kommer du förr eller senare sitta med två olika PATH-variabler, vilket kan leda till "intressanta" följder när du *vet* att en viss fil används, men cron plockar en annan. :)
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

ska inte vara några konstigheter...tror jag...det jag la till i min cron var

Kod: Markera allt

PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

Den skulle jag förvisso ändra den till

Kod: Markera allt

PATH=/usr/sbin:/usr/local/bin:/usr/bin:/sbin:/bin
Local-pather vill du oftast ha före "centrala". Dvs, om du har egen version av en binär som även finns i dist'en så vill du troligtvis använda din egen version i första hand.

Men problemet med den lösningen (när du inte tar input från /etc/environment) är om du någon gång i framtiden adderar något i /etc/environment's path och förväntar dig att den skall vara aktiv även när du kör i cron. Men det problemet uppstår inte förrän du glömt denna diskussion ordentligt. :D
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

men det är ju just det som är problemet...tror jag...att cron körs inte med den inställningen (/etc/environment) och därför måste jag lägga till det i cron, då det kommer ju ändå bli ett problem om jag ändrar i /etc/environment i framtiden oavsett :roll:
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

Inte om du använder /etc/environment som input till din egen åtgärd.
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

Kan man det! :roll: Hur gör jag då? Nu står det ju...

Kod: Markera allt

PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin
...längst upp i min cron. Vad skall jag skriva i stället?
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Re: Symlink problem tillsammans med Cron

Inlägg av Dowser »

Inte längst uppe i din cron va?
Antar att du menar längst uppe i ditt script som anropas av cron?

Ersätt den raden med:

Kod: Markera allt

. /etc/environment
så bör du bli nöjd och glad, även om något/några år när du ändrar pather. :)
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

Dowser skrev:Inte längst uppe i din cron va?
...
Jo, som jag skrev tidigare...
CirruZZ skrev:Tydligen skall man kunna lägga till fler $PATH för cron i själva cronfilen, testar det just nu, återstår att se om det funkar.
Det funkar toppen.
Skriv svar