Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

05.09.2005, 12:13

Scripting für Anfänger

Hallo,

ich habe ein kleines Script für eine Arcserve 9 Datenbank geschrieben, mit welcher das Purgen angestoßen werden soll.

#!/bin/sh
bab -unload cadbd
export II_SYSTEM=$BAB_HOME/dbase/ingres
export PATH=$II_SYSTEM/ingres/bin:$II_SYSTEM/ingres/utility:$PATH
export LD_LIBRARY_PATH=$II_SYSTEM/ingres/lib:$LD_LIBRARY_PATH
$II_SYSTEM/ingres/bin/usermod cadbase -ucadbase
bab -load cadbd

Wenn ich das script von Hand ausführe funktioniert es einwandfrei. Wenn ichg es aber automatisch über Cron ausführen lassen will, scheint er den export der Variablen nicht durchzuführen. Zumindest bekomme ich Fehlermeldungen das die angegebenen Variablen nicht bekannt sind.

Wie kann ich das umgehen?

Thx

HP

2

05.09.2005, 16:05

Hi,

kann es sein, dass Variablen wie z.B. $BAB_HOME im PATH Deines User sind, der das ausführen soll?
Hast Du es mal mit statischem Pfad probiert? Also der absolute Pfad der Variable $BAB_HOME z.B. ?

In welcher Crontab ist die Shell? Die Crontab des Skriptowners? Oder gar root?
Menschen mit einer
neuen Idee gelten so lange
als Spinner, bis sich die
Sache durchgesetzt hat.

http://www.wuerzburg-forum.de

3

05.09.2005, 19:59

Hi,

die crontab war root. Mit den absoluten Pfaden habe ich es noch nicht versucht. Wie kann man die denn in ein script einbinden?

cu

HP

hydraulik

Techno MUSS hart sein

  • »hydraulik« ist männlich

Beiträge: 211

Wohnort: Hessen

Beruf: Fachinformatiker - Systemintegration

  • Nachricht senden

4

05.09.2005, 20:24

schreib doch den pfad einfach an den anfang des scriptes:

BAB_HOME = /home/bab (z.b.)

oder

BAB_HOME = /var/lib/bab (z.b.)

oder

wo auch immer BAB_HOME ist.

p.s.: absoluter pfad = pfad von / ausgehend
relativer pfad = pfad vom standort im dateisystem aus gesehen

also z.b.: du bist in /usr/local/src und willst in den ordner /usr/bin wechseln:

absolut: cd /usr/bin
relativ: cd ../../bin

:chinese:

5

05.09.2005, 21:36

jo, wie hydraulik schon darlegte, bedarf es eine Deklaration der Variablen am Anfang des Scriptes, oder vor der Verwendung der jeweiligen Variable. Sie müssen auf jeden Fall vor dem ersten Gebrauch definiert sein.

Die Variablen sind nicht bestandteil deines root-PATH und sollten es auch wirklich nicht sein. ;)
Menschen mit einer
neuen Idee gelten so lange
als Spinner, bis sich die
Sache durchgesetzt hat.

http://www.wuerzburg-forum.de

6

06.09.2005, 19:53

Besten Dank, werde es auf diesem Wege versuchen.
Thx#
HP

Thema bewerten