Créer un script de démarrage

Bonjour,

J’ai besoin de créer un script qui se lance automatiquement au démarrage. Je sais qu’il faut placer le script dans init.d/, mais j’aimerai qu’on me guide pour faire quelque chose de propre.

En fait, j’a besoin d’activer 2 paramètres registre avec setpci comme ceci :

setpci -H1 -s 0:0.0 50=ff setpci -H1 -s 0:0.0 51=ff

Merci pour toute suggestion.

bonsoir,
tu mets ces deux lignes précédées de #!/bin/bash dans un fichier que tu rends exécutable (chmod u+x) et que tu places dans /etc/init.d/.
Reste à le faire prendre en compte par le superserver, lequel utilises-tu ? inetd ou xinetd ou autre ?

Ça peut-etre aussi une tâche cron qui lance le script au boot, reste à voir si cron le lance assez tot …

Effectivement crée un script dans /etc/init.d. Tu peux t’inspirer de /etc/init.d/skel…

Puis après par contre, il ne faut pas mélanger:

inetd/xinetd permet d’activer un service à l’arrivée d’une connexion sur un port, les paquets entrant arrive sur le stdin et stdout est renvoyé.

cron exécute un script/programme à une heure donné.

Pour les taches au démarrage, ce sont les scripts ayant en lien de la forme S dans /etc/rc.d qui sont exécutés.

En ce qui te concerne, c’est ce troisième poit qu’il te faut, fais donc

cd /etc/init.d

update-rc.d ton_script defaults

ou encore

update-rc.d ton_script start 99 2 . stop 99 2 .

(99 indique qu’il sera éxécuté dans les derniers, défaults = 20)

bonjour,
concernant cron, j’utilse une ligne pour relancer un script en cas de reboot:

alors je me disais que si @reboot fonctionnait, on pouvait peut-être utilisé @boot, mais je sais pas.
Concernant le superserver, j’utilise xinetd que je trouve trés pratique, et en général, quand j’inclus un nouveau script dans /etc/init.d, je le paramètre dans /etc/runlevel.conf, en rajoutant une simple ligne du type:

99 0,1,6 2,3,4,5 /etc/init.d/accesslogça marche trés bien aussi, mais c’est un fichier particulier à xinetd …

J’ignorais complètement ces fonctions de cron et xinetd (j’utilise inetd qui n’a pas ça on dirait). Tu connais un avantage de ces fonctions par rapport sur le simple script placé dans /erc/rc?.d ???

Cela dit pour cron, il n’y a que reboot (qui devrait se nommer @boot d’ailleurs):

[quote] @reboot Exécuter une fois au démarrage.
@yearly Exécuter une fois par an, « 0 0 1 1 * ».
@annually (idem que @yearly)
@monthly Exécuter une fois par mois, « 0 0 1 * * ».
@weekly Exécuter une fois par semaine, « 0 0 * * 0 ».
@daily Exécuter une fois par jour, « 0 0 * * * ».
@midnight (idem que @daily)
@hourly Exécuter une fois par heure, « 0 * * * * ».
[/quote]

ah oui, @boot serait moins ambiguë.

[quote=“fran.b”]Tu connais un avantage de ces fonctions par rapport sur le simple script placé dans /erc/rc?.d ???[/quote]non, si ce n’est que chaque ligne de runlevel.conf correspond à ce qu’est un fichier /etc/rc?.d. Il n’y a plus de fichier rc?.d avec xinetd. Et … donc pour suspendre temporairement le lancement d’un script, il suffit de commenter la ligne en rapport. Une fois qu’on a compris le fonctionnement d’update.rc et de sa kirielle de fichiers rc?.d, je suppose qu’il n’y a pas grande différence, même si je trouve que c’est plus lisible (une ligne par entrée dans un fichier central / un fichier par entrée dans x répertoire).