← Back to team overview

sslug-teknik team mailing list archive

variabler i crontab

 

Hej

Lav et script der sætter diverse variabler:

DATE=`/bin/date -d yesterday +%Y%m%d`
export DATE 

I scriptet der skal bruge disse variabler:

echo "Før kald"
echo $DATE
. ./test.sh
echo "Efter kald"
echo $DATE

Disse variabler er kun kendt for det kaldende script og bliver nulstillet så
snart det er færdig med at køre.

Denne måde at kalde scripts der sætter variabler fungerer uden problemer på
SLES 7.0, Sun Solaris 8 & 9 samt System V ver. 4.2
Jeg har vist også haft det kørende på RH 6.2

Med venlig hilsen

Frank Larsen
KIMIK IT
PO Box 740		Mailto:fl@xxxxxxxxxxx
DK-3900 Nuuk	Phone: +299 34 20 00
Greenland		Fax:   +299 32 98 30
Visit			http://www.kimik-it.gl


-----Oprindelig meddelelse-----
Fra: Frank Larsen [mailto:FL@xxxxxxxxxxx]
Sendt: 8. januar 2003 10:19
Til: 'sslug-teknik@xxxxxxxx'
Emne: SV: [TEKNIK] variabler i crontab


Hej

Det er en god ide at export DATE

Dog vil en export DATE ikke hjælpe særligt meget hvis der er andre
cron-scripts der er afhængig af variablen.
For hver gang man kører et cron-script, vil dette blive afviklet i et
selvstændigt miljø, det ikke kender noget til variabler sat af andre
scripts.

Du kan emulere dette ved i en command-line:

DATE=`/bin/date -d yesterday +%Y%m%d`
export DATE
echo $DATE (20030107)
su
echo $DATE (20030107)
su - root
echo $DATE (intet)

Med venlig hilsen

Frank Larsen
KIMIK IT
PO Box 740		Mailto:fl@xxxxxxxxxxx
DK-3900 Nuuk	Phone: +299 34 20 00
Greenland		Fax:   +299 32 98 30
Visit			http://www.kimik-it.gl


-----Oprindelig meddelelse-----
Fra: Klavs Klavsen [mailto:kl@xxxxxxx]
Sendt: 8. januar 2003 10:02
Til: sslug-teknik@xxxxxxxx
Emne: [TEKNIK] variabler i crontab



Jeg forsøger at få sat en variabel DATE i min crontab
(/etc/cron.d/stats).

# load date from yesterday - as logfile contents is from before now :-)
DATE=`/bin/date -d yesterday +%Y%m%d`

men når jeg bruger variablen senere hen, så er indholdet bare
/bin/date.. :(

hvis jeg prøver præcis samme linie (copy and pasted) i test.sh - så
virker det fint.

Nogen ideer? eller bliver jeg nødt til at lave et wrapper script der
kalder kommandoen?

-- 
Regards,
Klavs Klavsen

--------------| This mail has been sent to you by: |------------
              Klavs Klavsen - Open Source Consultant 
            klavs@xxxxxxxxxxx - http://www.EnableIT.dk

    Get PGP key from www.keyserver.net - Key ID: 0x586D5BCA 
Fingerprint = 2873 188C 968E 600D D8F8  B8DA 3D3A 0B79 7E06 3C62
----------------------------------------------------------------
Open Source Software - Sometimes you get more than you paid for.




Follow ups