• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Scripting - Hilfe - Cron - mnogosearch

Hi,

ich bin gerade dabei ein kleines Script zu erstellen, welches jede Nacht ausgeführt wird und "X" Instanzen vom mnoGoSearch Indexer gestartet werden...

Hierbei habe ich aber ein Problem...
Erstmal das was ich bisher habe:

indexer-cron.conf
Code:
INSTANCES="5"
INDEXER="/usr/local/mnogosearch/etc/indexer-badenregio.conf 2>&1"

indexer-cron.sh
Code:
. indexer-cron.conf

for ((i=0; i<$INSTANCES; i++))
do
$INDEXER
done

Also wie man sieht, sollen 5 instanzen gestartet werden.
Es wird aber nur 1 mal gestartet...
Wo ist mein Fehler? Und wie bekomme ich es hin, das wenn "indexer-cron.sh" gekilled wird, das alle instanzen vom mnogosearch-indexer gekilled werden? (überhaupt möglich?)
evtl. irgendeine construktion: ps aux | grep mnogosearch | kill <irgendwas was ich nicht weiss>

Danke schonmal ;)

So long
KriS
 
Code:
. indexer-cron.conf

for ((i=0; i<$INSTANCES; i++))
do
   $INDEXER
done

du musst $INDEXER & schreiben, sonst wird die Schleife sequentiell abgearbeitet ... also 5x nacheinander :)
 
OP
KriS
Hi oc2pus,

schön mal wieder was von dir zu lesen ;)
*Kopf aufn Tisch hau* ok.. *ab in die ecke und schäm*
Das ist ja peinlich.. ;-/
Soweit funzt es.. ;)

Thx
So long
KriS
 
hehe, der Teufel steckt im Detail ;)

das kill Problem kannst du mit startproc, killproc ganz gut lösen.

siehe dazu man startproc. Verwende die Option -p <pidfile>
Code:
for ((i=0; i<$INSTANCES; i++))
do
   startproc -p "/var/run/Indexer-$i.pid" $INDEXER &
done

dann killen mit killproc -p /var/run/Indexer-$i.pid $INDEXER
oder
in einer Schleife
pidfile="/var/run/Indexer-$i"
pid=`cat $pidfile`
kill -9 $pid >/dev/null 2>&1
 
Oben