Comment exécuter un script au démarrage de CentOS Linux


13

J'ai mis un script dedans /etc/init.d/abc.sh. Maintenant, je veux qu'il s'exécute au démarrage.

Comment puis-je faire cela avec chkconfig?

chkconfig --add abc.sh

Mais je ne sais pas comment cela fonctionne.


Il y a un article ancien mais toujours utile sur linuxjournal.com/article/4445
RedGrittyBrick

Réponses:


8

J'utilise souvent juste

/etc/rc.local

Donc, comme ...

echo "/etc/init.d/abc.sh" >> /etc/rc.local

devrait le pirater pour toi. Il y a probablement des endroits plus appropriés, mais quoi que cela fonctionne, sur la plupart des distributions, il semble.


ce script est un démon et j'aiabc start stop restart configurd
Mirage

Vous pouvez peut-être l'appeler en entrant: 'service abc start'
James T Snell

8

Les scripts qui s'exécutent au démarrage ne sont pas considérés comme un script - si vous souhaitez que le script soit exécuté au démarrage, modifiez ce qui suit dans /etc/crontab:

@reboot /path/to/script

1
Exécuterait-il en tant qu'utilisateur root s'il était placé dans le cron?
The Unknown Dev

2
Voilà une idée géniale! Il est portable et simple. Cela n'endommage pas le coffre. Cela vient après le démarrage des modules système avec des autorisations utilisateur précises .... Dans mon cas sur centos 7, ce serait "@reboot root / path / to / script"
Nicolas Guérinet

2

Jetez un œil à d'autres scripts init existants. Dans chaque script init de style rh, il y a trois indices: les niveaux d'exécution, où le script doit être démarré et la priorité à laquelle il doit être démarré / arrêté. La somme de start + stop doit être normalement 100.

Cette ligne de commentaire est évaluée par chkconfig.


1

Vous ne pouvez pas sauf si vous lisez /usr/share/doc/initscripts-*/sysvinitfileset structurez votre script en conséquence.


1

Tu es sur la bonne piste. Votre script bash est au bon endroit et vous l'avez ajouté à votre chkconfig, ce qui signifie que votre script est installé.

Veuillez noter qu'il /etc/init.ds'agit d'un lien symbolique vers/etc/rc.d/init.d

Après avoir ajouté votre script, vous devez sélectionner le niveau d'exécution sur lequel vous souhaitez l'activer: chkconfig --level 35 abc onactivera votre script sur les niveaux d'exécution 3 et 5, vos startups les plus courantes.

Veuillez consulter chkconfig --helppour plus d'informations.

PS. vous pouvez également utiliser ntsysvce qui est un tui pour chkconfig.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.