Plusieurs daemon dans un même script. - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 31-07-2006 à 09:08:15
utilise un case sur un second argurment
|
que tu places où tu veux pour choisir ton service.
Après tu peux décider d'être plus générique et de faire une sorte de système "hook" pour chaque daemon mais si tu vois pas le principe mieux vaut rester simple
note pour ton "stop" : plutot qu'un pid obtenu à grand coup de grep () mieux vaut inscrire le pid au lancement dans un fichier et le lire ensuite (généralement /var/run/nom_daemon.pid)
y'a pas mal de trucs à revoir dans ton script, mais c'est comme ça qu'on apprend
Marsh Posté le 31-07-2006 à 09:24:32
Très bien merci
Pour le case 2, comment faire pour spécifier le service dont je souhaite connaître l'état ?
Là avec ce que tu me dis j'avance c'est déja ça maintenant reste à savoir comment activer, stopper et connaître le status de chaque case*.
Merci
Marsh Posté le 31-07-2006 à 09:34:26
|
Marsh Posté le 31-07-2006 à 10:45:30
D'accord j'ai compris le principe mais comment faire correspondre l'argument $2 au différent case ?
$ ./reload.sh start service1
Code :
|
Là il va me sortir "service1 is already running!"
Mais il en sera de même pour service2, service*
Faut-il que je fasse un truc du genre :
Code :
|
Et cela pour tous les $NAME* ?
En fait je ne comprends pas la structure du script.
case $1 1er argument OK genre start stop ...
case $2 le service concerné.
Mais pour ce qui est d'imbriquer tout ça je galère.
Marsh Posté le 31-07-2006 à 11:28:21
tu peux imbriquer les cases
Marsh Posté le 31-07-2006 à 12:38:45
Bon j'ai fait ça et ça fonctionne :
Code :
|
Bon là c'est juste pour start.
Il faut que je fasse tout ça pour chaque $NAME c'est un peu lourd quand même.
Ya pas un système d'alias en début de script qui pourrait m'aider à mieux organiser tout ça ?
Exemple : que $NAME corresponde au mot Service et * au numéro du service, au lieu de taper $NAME1, $NAME2 ...
Je m'exprime mal désolé.
Merci
Marsh Posté le 31-07-2006 à 13:41:09
Je vais essayer de mieux m'exprimer.
Exemple :
Code :
|
Cela me permettrait d'avoir un script type pour tous les services, le numéro spécifé dans ./reload start service(numéro) associerait donc NAME, DAEMON, PARAMS selon le numéro de service.
Malheureusement "*" n'est pas la bonne syntaxe pour ce que je désire.
Marsh Posté le 31-07-2006 à 14:42:16
perso j'utiliserai un fichier pour stocker les infos sur les services et j'utiliserai la commande "source" pour les charger dans mon script
comme ça tu modifies juste ton fichier de description, comme un fichier de conf en fait et avec 2/3 fonctions ça roule tout seul
Marsh Posté le 31-07-2006 à 14:44:06
Ok très bien je vais faire ça merci à toi
Et pour introduire la source il y a une syntaxe spécifique à foutre dans le script ?
Marsh Posté le 31-07-2006 à 14:57:58
source mon_fichier
Marsh Posté le 31-07-2006 à 18:02:02
Oh pinaise c'est prise de tête ce truc
Voilà quelque chose qui fonctionne
Code :
|
Que c'est laid tu me diras mais ça a le mérite de fonctionner.
Marsh Posté le 31-07-2006 à 08:47:53
Bonjour,
Je voudrais créer un script qui se lance lors d'un reboot mais pouvant aussi être utilisé pour vérifier le status de chaque daemon.
Ex : ~$ ./reload.sh status serveur1
~$ serveur1 is UP !
J'ai actuellement un script pour chaque service mais c'est vraiment lourd à la longue, si il est possible de tout regrouper ça me faciliterait la vie.
Voilà mon script :
La partie "status)" déjà est mal foutue, il me sera impossible de pouvoir choisir le process à vérifier. Quant aux autres start), etc ... je ne sais pas quoi modifier pour rendre compatible multi-daemon.
J'espère avoir été assez clair dans mon explication.
J'attends une réponse de votre part.
Merci d'avance.