Yep,
Je suis une burne en script Unix et ca m'énerve. Je cherche mais ca marche pas. Voici le problème:
On doit démarrer un certain nombre de daemons pour un service. Or cet ensemble de daemons appartiennent à un pays. On voudrait, via un script unique, démarrer les daemons d'un pays en spécifiant son code en ligne de commande.
pour l'instant on a un truc du genre: startcn.sh
Code :
- #!/bin/sh
- #
- # Start the daemons, but check first if they are not running
- #
- . config
- PIDDIR=$CUSNOTHOME/pids
- LOGDIR=$CUSNOTHOME/logs
- [ -d $PIDDIR ] || mkdir $PIDDIR
- [ -d $LOGDIR ] || mkdir $LOGDIR
- for i in $CUSNOTHOME/bin/*.sh; do
- BASENAME=`basename $i`
- DAEMONNAME=`echo $BASENAME|sed 's/\.sh//'`
- [ 'startcn.sh' == $BASENAME ] && continue
- [ 'stopcn.sh' == $BASENAME ] && continue
- [ 'checkcn.sh' == $BASENAME ] && continue
- PIDFILE=$PIDDIR/$DAEMONNAME.pid
- LOGFILE=$LOGDIR/$DAEMONNAME.log
-
- if [ -s $PIDFILE ]; then
- PID=`cat $PIDFILE`
- if [ `ps ax | grep -v 'grep' | grep -c $PID` -gt 0 ]; then
- echo " skipped $BASENAME: already running"
- continue
- fi
- fi
- . $i >$LOGFILE 2>&1
- PID=$!
- echo -n $PID > $PIDFILE
- echo " started $BASENAME: pid=$PID"
- done
|
la ligne
Code :
- . $i >$LOGFILE 2>&1
|
démarre en fait un daemon et balancde la sortie dans un fichier de log qui porte son nom. Si on prend un daemon isolé ca ressemble à ca
Code :
- javac -ss128k -ms16m -mx128m xxx.CNEmailExpirationMonitor file://../config/ClientSettings.xml &
|
Ok now le deal c'est que tout les daemons prennent un fichier de config XML et que ce fichier est dans un sous répertoire du répertoire config.
Donc config/BE/ClientSettings.xml pour la belgique config/NL/ClientSettins pour les pays bas etc.
Ce que je voudrais c'est faire
./startch.sh BE
et qu'il construise l'URL automatiquement basé sur le paramètre.
Et que donc la ligne d'invocation devienne
Code :
- . $i MON_URL_CALCULEE & >$LOGFILE 2>&1
|
Merci à ceux qui liront le post
---------------
Just because you feel good does not make you right