Script d'arrêt sous Linux - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 11-12-2007 à 11:10:47
Tu as modifier quel script ? ceux qui commencent pas un S
Marsh Posté le 11-12-2007 à 11:19:10
Non en fait j'avais un truc du genre dans RC0 et rc6:
K06nom1
K30nom2
J'ai fais :
mv K06nom1 K30nom1
mv K30nom2 K06nom2
Marsh Posté le 11-12-2007 à 11:22:57
Tu sais que tu l'a deplace dans le repertoire courant?
Marsh Posté le 11-12-2007 à 11:25:12
enfin si tu préferes mv /etc/rc0.d/K06nom1 /etc/rc0.d/K30nom1.
C'est ça que j'ai fais.
Marsh Posté le 11-12-2007 à 15:36:03
UP, vous avez pas une idée ? Y a pas de log pour voir ça ?
Marsh Posté le 11-12-2007 à 15:40:23
les distributions fournissent des outils pour ça
(ceci exclut les dinosaures de type slackwariens)
Marsh Posté le 11-12-2007 à 16:00:16
ohhhh merci je dois comprendre quoi.......Je veux juste savoir comment vérifier l'ordre d'arret de mes services de manière réelle et non en regardant rc0 et rc6.
merci
kab
Marsh Posté le 11-12-2007 à 22:49:06
Hé l'ami, si tu nous disais quel est ta distro ?
On va pas te réciter toutes les solutions en fonction de toutes les distros quand même !?
Marsh Posté le 11-12-2007 à 22:52:39
Le début de son problème est ici
=> Red Hat Enterprise 5
kabouns a écrit : ohhhh merci je dois comprendre quoi.......Je veux juste savoir comment vérifier l'ordre d'arret de mes services de manière réelle et non en regardant rc0 et rc6. |
Ca veut dire que, dans ton intéret, merci de donner l'ensemble des détails que tu as. Ca aurait été bien de donner ce topic directement dans ton premier post pour savoir ce que tu as fait et ce qu'on t'as dit.
Pratiquement chaque distrib a ses spécificité. Si tu décides de distiller des indices au compte goutte tu n'auras jamais ta réponse.
Cependant généralement, que ca soit les outils pour vérifier le séquençage ou pour le mettre en place, on se base sur l'ordre alpha-numérique des liens. sous debian invoke-rc.d ou update-rc.d modifie le nom du lien en conséquence. Idem pour chkconfig je suppose.
Peux tu nous dire qu'est ce qui te fais croire qu'il ne s'éxécute pas dans le bon ordre ?
Tu peux modifier ces scripts en placant un touch toto au bon endroit (dans le case du stop) pour vérifier qu'il s'éxécute bien...
Marsh Posté le 11-12-2007 à 23:04:24
Pour la RHEL-4 : http://www.redhat.com/docs/manuals [...] STOOL.html
Marsh Posté le 12-12-2007 à 10:07:34
Citation : |
Donc mon problème est le suivant :
Depuis que j'ai installé Avast et Avastguard mon serveur Redhat 5 se bloque sur "Killall services" à l'arrêt (ou au redémarrage). Dans la doc il est dit que avastguard doit s'arreter avant avastd, je vais vérifier, et je modifie rc0 et rc6 pour cet ordre (non respecté de base). Je redémarre ça change rien, j'arrête idem ça bloque.....Ensuite j'arrête mon service avastguard manuellement et je redémarre sans problème => j'en conclu qu'il y a un problème à l'arret.
merci
kab
Marsh Posté le 12-12-2007 à 10:21:32
Normalement, les scripts s'exécutent séquentiellement :
- pour le démarrage : les scripts s'exécutent suivant leur ordre de priorité S01 -> S99 avec en paramètre start
- pour l'arrêt : les scripts s'éxécutent suivant leur ordre de priorité K01 -> K99 avec en paramètre stop
Tu as bien suivi ces règles quand tu as utilisé chkconfig pour les séquencer ?
Dans les scripts, chkconfig a t il rajouté un header avec le niveau de priorité en commentaire ?
Les liens sont ils bon ?
Dans le pire des cas, tu peux toujours modifiés les scripts où en créer un unique pour stopper les deux services en un coup
1. tu fermes le premier proprement /etc/init.d/premierscript stop
2. si tout c'est bien passé tu fermes le suivant /etc/init.d/secondscript stop
tu reprends le squelette des script d'init, tu le places dans /etc/init.d et tu fais les liens qui vont bien dans /etc/rc{0-5}.d
Marsh Posté le 12-12-2007 à 10:36:08
o'gure a écrit : Normalement, les scripts s'exécutent séquentiellement : |
La je ne comprends pas trop, j'ai utilisé chkconfig de la manière suivante :
chkconfig --level 345 avastd on
chkconfig --level 345 avastgard on
On ne peut pas définir l'ordre via cette commande.
En plus je ne comprends pas trop à quoi servent les liens dans rc3.d etc..... qui commence par K ? Il ne faut pas démarrer Kxxname au niveau 3 c'est ca ?
En ce qui concerne le header, je ne sais pas ce que c'est à quoi ça sert mais je pense que c'est ça :
Code :
|
Marsh Posté le 13-12-2007 à 01:01:53
black_lord a écrit : les distributions fournissent des outils pour ça |
c'est sur, les inits BSD sont tellement simples a comprendre que ya pas besoin de tool pour les administrer
Marsh Posté le 17-12-2007 à 10:16:29
Bonjour à tous,
J'ai éclairci certaines choses. Alors en fait je me demandais si lors de l'arrêt ou le reboot de mon serveur le script d'init d'avast était bien pris en compte. Pour vérifier j'ai mis la commande "service avastd stop" dans un script d'init qui fonctionne. Et la miracle ça fonctionne. Mon probleme est donc le suivant : pourquoi mon script marche de manière manuelle mais n'est pas pris en compte par init à l'arret ?
merci
Kab
Marsh Posté le 19-12-2007 à 17:56:26
Bon alors j'ai trouvé la solution à mon problème, sous redhat 5 enterprise pour que les scripts d'arrêt soient pris en compte il faut que le fichier /var/lock/nom_du_service existe.
Le probleme c'est que tous les scripts créent pas ce fichier.
Donc dans la fonction start du script init il faut ajouter :
touch /var/lock/nom_du_service
Et dans la fonction stop :
rm -rf /var/lock/nom_du_service
Voila voilou j'espere que ca pourra aider d'autres personnes.
Kab
Marsh Posté le 11-12-2007 à 11:07:37
Bonjour,
Je souhaite modifier l'ordre d'arrêt de certains services sous Linux. Pour celà j'ai modifié le nom du lien symbolique dans le répertoire rc0.d et rc6.d. Quand je teste les scripts manuellement ça fonctionne, par contre je crois que ça ne marche pas quand je fais un halt ou un reboot. En fait je sais pas comment vérifier si ça marche. Y a t'il des logs pour voir si la modification des ordres fonctionnent ?
Merci
Kab