Symlink problem tillsammans med Cron [LÖST]

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
CirruZZ
Inlägg: 20
Blev medlem: 02 mar 2009, 13:55
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Symlink problem tillsammans med Cron [LÖST]

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?
Senast redigerad av 1 CirruZZ, redigerad totalt 18 gånger.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Symlink problem tillsammans med Cron

Inlägg av Konservburk »

Det är miljövariablerna som ställer till det för dig. Under cron är miljön ytterst sparsam och variabeln $PATH innehåller då inte /usr/local/bin, vilket du verkar anta att den gör.
CirruZZ
Inlägg: 20
Blev medlem: 02 mar 2009, 13:55
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

aha...kan det vara så! ::)

Så vad föreslår du?

Glömde skriva att det gäller server 10.04.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Symlink problem tillsammans med Cron

Inlägg av Konservburk »

Jag föreslår att du lägger till /usr/local/bin till $PATH i början av ditt skript:

Kod: Markera allt

#!/bin/bash
PATH="/usr/local/bin:$PATH"
CirruZZ
Inlägg: 20
Blev medlem: 02 mar 2009, 13:55
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

ok.

det finns inget sätt att lägga till en till PATH för cron miljön.

kan tilläggas att i tidigare versioner av ubuntu server så har det funkat, har nyligen bytt till 10.04.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Symlink problem tillsammans med Cron

Inlägg av Konservburk »

Du kan sätta $PATH direkt i crontab-filen om du vill:

Så att den gäller för alla cron-jobben:

Kod: Markera allt

PATH=/usr/local/bin:/usr/bin:/bin
* * * * * cron_job_A.sh
* * * * * cron_job_B.sh
Eller bara för vissa specifika cron-job:

Kod: Markera allt

* * * * * cron_job_A.sh
* * * * * PATH=/usr/local/bin:/usr/bin:/bin cron_job_B.sh
CirruZZ
Inlägg: 20
Blev medlem: 02 mar 2009, 13:55
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Symlink problem tillsammans med Cron

Inlägg av CirruZZ »

Det där gjorde susen! :) Nu funkar det ju utan att jag måste in och ändra i scripten.

Tusen tack för strålande hjälp!! Case closed!
Skriv svar

Återgå till "Terminalforum"