PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Jobsteuerung mit "if"-Bedingung


DaBomb
08.09.2004, 14:35
Hi,

ich habe ein Script geschrieben, welche via Cron gesteuert auf dem System arbeitet.
Nur leider werden die Echos immer in /usr/spool/mail/USER geschrieben (AIX-System).
Also selbst wenn nichts zu tun ist, werden die Echos in die Mailbox geschrieben.

Der Job soll abhängig vom Fund einer zu verarbeiteten Datei gesteuert sein.

Also quasi so: Wenn die Datei da ist, soll der Job laufen. Wenn die Datei nicht da ist, dann soll er aufhören, nicht schlafen. Das sollte ja mit einer "if" Bedingung gehen, oder?
Leider ist mein Wissen da nicht so tiefgründig.
Wäre das so ok?
KEY=MeineDatei.txt
if $KEY = found
then ./MeinScript.sh
fi
Dann würde ja nur etwas unternommen werden, wenn die Textdatei vorhanden wäre. Wie haut das in der Konsole hin? Dahinter bin ich leider noch nicht gekommen, kann aber keine große Sache sein, oder?


Jan Krüger
08.09.2004, 16:28
[ -f MeineDatei.txt ] && ./MeinScript.sh
oder in der lesbaren Fassung:
if [ -f MeineDatei.txt ]; then ./MeinScript.sh; fi

DaBomb
10.09.2004, 07:54
Hi,

vielen Dank für Deine Antwort.
Fuktioniert super! :-)

Gelatine Gurk
12.03.2005, 19:36
bei den kommandozeilen von cron hat man den nachteil, dass die konstrukte, die man verwenden kann eingeschraenkt sind. schliesslich hat man nur eine zeile. darueberhinaus sind die dort eingesetzten skripte in der regel auch ausserhalb von cron oft nuetzlich. deshalb sind meine skripte immer sowohl interaktiv in einem terminal und bei cron-nutzbar.
dazu haben alle skripte eine option -cron, mit der ich den cron-modus aktiviere und beispielsweise alle ausgaben des programms unterdruecke. damit hat man auch die moeglichkeit, das programm zu veranlassen, gezielt im cron-modus zum beispiel eine mail
zu schicken