lancer une commande au niveau init 3 [RESOLU] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 18-09-2007 à 22:27:15
1. pour lancer un script en lors du passage en init 3 il faut que tu fasses un script et que tu le mettes dans /etc/rc3.d
(généralement on met les scripts dans /etc/init.d et on fait des liens symbolique dans les /etc/rc{1,2,3,4,5,6}.d). Le nom du lien/script dans /etc/rc... doit etre du format SXXnomduscrip où XX est une priorité cf les autres scripts.
2. Je ne connais pas ta distribution mais il est fort possible qu'un package soit dispo. Préfère le
3. es tu sûr que c'est en runlevel 3 que ton pc boot ?
Marsh Posté le 18-09-2007 à 22:30:38
C'est etch (debian4). 
Je n'avais pas jugé utile de le mettre. 
Le pc boote en 2 
j'ai mis à la fin de /etc/rc.local ma commande et je reboote.... 
Je vais voir. 
Sinon, oui, i y a ce paquage pour ma debian, mais j'aimerai mieux l'avoir en ligne, pour m'éclairer un peu...
Marsh Posté le 18-09-2007 à 22:35:39
| krisofe a écrit : Le pc boote en 2 | 
 
Si le pc boot en 2 c'est dans /etc/rc2.d qu'il faut faire le script. rc.local... bof 
| krisofe a écrit :   | 
 
Pas compris cette phrase. A l'époque où ce n'était pas mon routeur qui faisait ce boulot, j'avais installer un client dyndns via un des packages debian. et ca marchait niquel...
Marsh Posté le 18-09-2007 à 22:37:52
Cf la doc de référence de debian, la première source d'information, normalement... 
http://www.debian.org/doc/manuals/ [...] -runlevels
Marsh Posté le 18-09-2007 à 22:40:42
Je m'explique mieux : 
C'est vrai que tous les routeurs le font (grand public) mais dans les 
trois que j'ai eu (livebox, trendnet,netgeat) un seul hôte pouvait être mis à jour. 
 
Pour le package client, qu'est-ce que tu utilisais ? 
Marsh Posté le 18-09-2007 à 22:43:10
ok, ok, je vais mieux lire... 
En fait je ne voulais pas me prendre la tête pour l'instant avec les SX et KX dans les rc... 
Je reviendrai un peu plus tard. 
Merci
Marsh Posté le 18-09-2007 à 22:43:36
hmmm... de mémoire ddclient. J'ai du également utiliser un peu ez-ipupdate mais pas réellement. Sinon oui, je comprend le probleme. Généralement les routeurs n'update qu'un seul hote. 
 
Si tu tiens à faire toi meme ton script, suis la manière debian (script dans /etc/init.d + lien symbolique avec priorité.
Marsh Posté le 18-09-2007 à 22:44:45
C'est ce que je craignais....  
Je reviens donc plus tard. 
merci :-)
Marsh Posté le 18-09-2007 à 22:45:27
Y a pas vraiment à se prendre la tête. Ou alors 5 minutes pour comprendre que S c'est Start, K c'est kill/stop et que le chiffre c'est une priorité. Soit tu fais a la main, soit tu utilises update-rc.d, lecture du manpage et hop ![[:spamafote] [:spamafote]](https://forum-images.hardware.fr/images/perso/spamafote.gif)
Marsh Posté le 18-09-2007 à 23:20:51
hum... 
Je crois que j'ai compris. 
J'ai fait le script dans /etc/init.d. 
Au lieu de tout me taper dans les rcX, j'ai donc utilisé 
update-rc.d 
 
J'ai tapé : 
update-rc.d -n inadyn-start defaults [Enter] 
 
 Adding system startup for /etc/init.d/inadyn-start ... 
   /etc/rc0.d/K20inadyn-start -> ../init.d/inadyn-start 
   /etc/rc1.d/K20inadyn-start -> ../init.d/inadyn-start 
   /etc/rc6.d/K20inadyn-start -> ../init.d/inadyn-start 
   /etc/rc2.d/S20inadyn-start -> ../init.d/inadyn-start 
   /etc/rc3.d/S20inadyn-start -> ../init.d/inadyn-start 
   /etc/rc4.d/S20inadyn-start -> ../init.d/inadyn-start 
   /etc/rc5.d/S20inadyn-start -> ../init.d/inadyn-start 
 
Le pb est que je ne vois pas ces liens symboliques dans les /etc/rcX.d ? 
Marsh Posté le 18-09-2007 à 23:23:02
tu peux faire un ls -la /etc/rc2.d ?
Marsh Posté le 18-09-2007 à 23:26:23
v-debian01 etc/rc2.d# ls -la
etc/rc2.d# ls -la 
total 11 
drwxr-xr-x   2 root root 1024 2007-09-04 18:37 . 
drwxr-xr-x 107 root root 8192 2007-09-18 22:38 .. 
-rw-r--r--   1 root root  149 2007-09-04 17:56 alire-gdm 
-rw-r--r--   1 root root  556 2007-01-30 23:27 README 
lrwxrwxrwx   1 root root   18 2007-08-22 23:29 S10sysklogd -> ../init.d/sysklogd 
lrwxrwxrwx   1 root root   15 2007-08-22 23:29 S11klogd -> ../init.d/klogd 
lrwxrwxrwx   1 root root   17 2007-08-23 14:45 S18portmap -> ../init.d/portmap 
lrwxrwxrwx   1 root root   15 2007-08-23 15:48 S19hplip -> ../init.d/hplip 
lrwxrwxrwx   1 root root   15 2007-08-22 23:31 S20acpid -> ../init.d/acpid 
lrwxrwxrwx   1 root root   20 2007-08-23 14:47 S20bittorrent -> ../init.d/bittor                                                                             rent 
lrwxrwxrwx   1 root root   22 2007-08-23 14:48 S20cpufrequtils -> ../init.d/cpuf                                                                             requtils 
lrwxrwxrwx   1 root root   16 2007-08-23 15:42 S20cupsys -> ../init.d/cupsys 
lrwxrwxrwx   1 root root   14 2007-08-23 14:47 S20dbus -> ../init.d/dbus 
lrwxrwxrwx   1 root root   15 2007-08-23 14:44 S20exim4 -> ../init.d/exim4 
lrwxrwxrwx   1 root root   22 2007-08-23 14:49 S20hotkey-setup -> ../init.d/hotk                                                                             ey-setup 
lrwxrwxrwx   1 root root   17 2007-08-22 23:26 S20makedev -> ../init.d/makedev 
lrwxrwxrwx   1 root root   23 2007-08-22 23:29 S20openbsd-inetd -> ../init.d/ope                                                                             nbsd-inetd 
lrwxrwxrwx   1 root root   13 2007-09-04 18:37 S20ssh -> ../init.d/ssh 
lrwxrwxrwx   1 root root   16 2007-09-03 18:02 S20vsftpd -> ../init.d/vsftpd 
lrwxrwxrwx   1 root root   20 2007-08-23 14:45 S21nfs-common -> ../init.d/nfs-co                                                                             mmon 
lrwxrwxrwx   1 root root   17 2007-08-23 14:47 S89anacron -> ../init.d/anacron 
lrwxrwxrwx   1 root root   13 2007-08-23 14:45 S89atd -> ../init.d/atd 
lrwxrwxrwx   1 root root   14 2007-08-22 23:28 S89cron -> ../init.d/cron 
lrwxrwxrwx   1 root root   18 2007-08-22 23:27 S99rc.local -> ../init.d/rc.local 
lrwxrwxrwx   1 root root   19 2007-08-22 23:27 S99rmnologin -> ../init.d/rmnolog                                                                             in 
lrwxrwxrwx   1 root root   23 2007-08-22 23:27 S99stop-bootlogd -> ../init.d/sto                                                                             p-bootlogd 
lrwxrwxrwx   1 root root   18 2007-09-03 17:57 S99webmin -> /etc/init.d/webmin 
Marsh Posté le 18-09-2007 à 23:26:47
ah ouai, normal, tu as mis l'option -n ![[:neriki] [:neriki]](https://forum-images.hardware.fr/images/perso/neriki.gif)
Marsh Posté le 18-09-2007 à 23:27:11
| Citation : OPTIONS  | 
Marsh Posté le 18-09-2007 à 23:27:57
la meme commande sans le -n devrait être nickel ![[:cupra] [:cupra]](https://forum-images.hardware.fr/images/perso/cupra.gif)
Marsh Posté le 18-09-2007 à 23:28:31
j'avais essayé pour te dire ça. 
J'ai relu la doc et pourtant la commande à l'air bonne avec "defaults". 
 
v-debian01 etc/init.d# ls -la ina*
etc/init.d# ls -la ina* 
-rwxr-x--x 1 root root 0 2007-09-18 23:18 inadyn-start 
v-debian01 etc/init.d#
etc/init.d# 
Marsh Posté le 18-09-2007 à 23:29:10
je croyais avoir lu -n comme "name" ? 
Tu parles d'une buse... 
Je refais sans le "n"...
Marsh Posté le 18-09-2007 à 23:30:37
Tu vois, ca n'a pas pris 5h ![[:neriki] [:neriki]](https://forum-images.hardware.fr/images/perso/neriki.gif)
Marsh Posté le 18-09-2007 à 23:31:11
Il me refait la même ... 
Ce n'est donc pas fini !
Marsh Posté le 18-09-2007 à 23:32:30
oui mais là il a dû créer les liens symboliques. Sinon rajoutes quelques chose dans ton script et "chmod 700 & chown root.root" le
Marsh Posté le 18-09-2007 à 23:33:55
testé à l'instant: 
| [ root@loky /etc/init.d ]  | 
Marsh Posté le 18-09-2007 à 23:35:55
Pour le contenu du script, inspires toi des autres scripts. Lorsqu'il est appelé avec S20... (donc au démarrage) il est appelé avec l'argument start. 
si il est appelé avec K20... (donc quand tu rebootes ou tu l'éteins) il est appelé avec l'argument stop.
Marsh Posté le 18-09-2007 à 23:37:10
Bin oui, c'est dingue ça alors !! 
(Merci de ton soutien en tous cas, 'veux pas aller me coucher tant que ce n'est pas concret mon affaire...
Marsh Posté le 18-09-2007 à 23:37:59
il les a créer au final les liens ou pas alors ?
Marsh Posté le 18-09-2007 à 23:38:47
Oui, j'ai même fait /etc/init.d/montruc stop et restart.. Sans pb 
N'y aurait-il pas un pb dû au fait qu'il ne "rende pas la main" mon prg ? 
Marsh Posté le 18-09-2007 à 23:39:36
ReplyMarsh Posté le 18-09-2007 à 23:41:42
Je connais pas mais c'est possible qu'il reste boucle afin de détecter un changement d'adresse pour mettre a jour aussitot. 
 - Vérifie les options pour fois si tu peux le mettre en daemon. 
 - Sinon utilises le & afin de le mettre en  background. 
 - Ou encore mieux, regardes dans les autres scripts et utilises les start-stop-daemon pour des "daemonifier", récupérer le pid... 
 
Lis le manpage pour voir si tu peux rajouter des logs aussi tiens ![[:god] [:god]](https://forum-images.hardware.fr/images/perso/god.gif) 
 
Marsh Posté le 18-09-2007 à 23:42:39
| krisofe a écrit : Non, comme je t'ai dit, il m'a refait la même, avec ou sans -n... | 
 
Tu es bien root quand tu fais ca ? 
mets le chmod 700 et change les droits pour le faire appartenir à root.
Marsh Posté le 18-09-2007 à 23:44:16
Sinon tu peux le faire à la main aussi le lien (ln -s...)
Marsh Posté le 18-09-2007 à 23:45:19
oui, il a pris un certain temps en fait ! 
Ou c'est moi qui n'en est plus pour longtemps... 
Je teste... 
 
En fait mon script n'a plus que son nom, il ne contient rien !! Je le réédite donc.
Marsh Posté le 19-09-2007 à 00:00:43
Bon, ça y'est presque, sauf que... 
 
Comme je l'avais imaginé, que ce soit au reboot (init 6) ou au démarrage, (à la phase 2), je me retrouve en frontal avec le programme qui ne s'arrête pas... 
 
Peut-être un simple && suffirait ? ... vais voir 
 
J'ai coupé la branche sur laquelle j'étais assis... 
Je verrai demain, car là, impossible de me logguer à cause de ce prg... 
@+ 
Merci
Marsh Posté le 19-09-2007 à 00:19:41
Ok, pour l'instant dans le script de init.d, j'ai ajouté & . 
Si la connection est nok, j'ai le retour sur ma console principale, sans 
du coup etre gêné. 
Merci du coup de main o'gure ;-)
Marsh Posté le 18-09-2007 à 22:23:20
Bonsoir,
 usr/sbin/inadyn
usr/sbin/inadyn 
C'est surement simple, mais certainement moins que moi !
Je veux simplement lancer une commande au démarrage du système, et pourquoi pas avoir un retour dans /var/log/monprg.
Je souhaite lancer inadyn dont le fichier conf est bien renseigné.
Pour le tester, je lance juste inadyn [enter] ou /usr/sbin/inadyn [enter] et il fonctionne au poil.
Sans avoir besoin de me loguer, j'aimerai qu'il s'execute au niveau runlevel 3.
J'édite mon /etc/inittab comme suit :
dynd:3:wait
Mais rien ne se passe...
(bien sûr, j'ai constaté que rien ne s'est passé puisque mon ip n'a pas été updatée chez dyndns.org).
Pour info, inadyn est un client du service de dyndns.com permettant de mettre à jour mes nom d'hôtes DNS avec mon IP publique dynamique.
Comment dois-je procéder le plus simplement, puis, pourquoi pas avoir un log ?
Merci
Message édité par krisofe le 19-09-2007 à 00:18:02