← Back to team overview

sslug-teknik team mailing list archive

Re: Env variable i cronjobs

 



Steen Jarbøel wrote:
----- Original Message ----- From: "Frank Damgaard" <frank_sslug1@xxxxxxxxxxxxxxxxx>
To: <sslug-teknik@xxxxxxxx>
Sent: Sunday, July 20, 2003 8:53 PM
Subject: Re: [TEKNIK] Env variable i cronjobs



On Sun, Jul 20, 2003 at 20:40:32 +0200, Steen Jarbøel wrote:


Hvilken fil skal jeg rette i, når jeg gerne vil have et par ekstra

environment

variable sat op for et cronjob, som kører under en almindelig

bruger?

Det nytter ikke at rette brugerens .bash-profile

Lave nogle shell scripts du kalder fra crontab, og i disse
scripts kan du sætte variable som du vil.

Se også manualerne  crontab(1), crontab(5), og cron(8)

...snip...

EXAMPLE CRON FILE
      # use /bin/sh to run commands, no matter what /etc/passwd says
      SHELL=/bin/sh
      # mail any output to `paul', no matter whose crontab this is
      MAILTO=paul
      #
      # run five minutes after midnight, every day
      5 0 * * *       $HOME/bin/my.job >> $HOME/tmp/out 2>&1


og $HOME/bin/my.job :


#!/bin/sh
MINVAR=123
export MINVAR



Tak for svar, men jeg var mere interesseret i om der skulle være en
system fil, man kan rette i.
Det drejer sig nemlig en variabel, som skal gælde alle brugere, men have
forskellig værdi afhængig af brugeren - omtrent ligesom $HOME
Steen, det kræver så lige lidt programmering, men kan godt lade sig gøre.
Enten med et case statement:
case $LOGNAME in
	bruger1) VAR=value1;;
	bruger2) VAR=value2;;
	bruger3) VAR=VALUE3;;
	*) VAR=badvalue;;
esac
export VAR
[ $VAR = "badvalue" ] && {
	echo "Fejl"
	exit 1
}

Eller med en flat-file database, a la /etc/passwd:
filen "database":

bruger1:value1
bruger2:value2
bruger3:value3
...

script-fragment:
VAR=`grep "^$LOGNAME" database | cut -d: -f2` || {
	echo "Fejl"
	exit 1
}
export VAR

- der er sikkert også andre muligheder, men de her har jeg brugt med held i forskellige situationer

MVH
--
Jon Svejgaard
====================================================================
                               | ACE - UNIX/Linux Consultancy
                               | Hjorthoejvej 2 / DK-4291 Ruds Vedby
mail: jon@xxxxxx               | DENMARK
http://www.ace.dk              | +45 5826 1799 / +45 4052 0799
====================================================================



References