web-dev-qa-db-fra.com

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

J'ai mis un script dans /etc/init.d/abc.sh. Maintenant, je veux qu'il fonctionne au démarrage.

Comment puis-je faire cela avec chkconfig?

chkconfig --add abc.sh

Mais je ne sais pas comment ça marche.

13
Mirage

J'utilise souvent juste

/etc/rc.local

Alors, comme ...

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

devrait le pirater pour toi. Il y a probablement plus d’endroits convenables, mais peu importe, cela fonctionne, semble-t-il dans la plupart des cas.

8
James T Snell

Les scripts qui s'exécutent au démarrage ne sont pas considérés comme des scripts. Si vous voulez que le script soit exécuté au démarrage, modifiez les éléments suivants dans /etc/crontab:

@reboot /path/to/script
7
saravanakumar

Jetez un coup d'œil aux autres scripts d'initialisation existants. Dans chaque script d’initialisation de style rh approprié, il y a trois astuces: 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 devrait normalement être de 100.

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

2
Nils

Vous ne pouvez pas, à moins de lire /usr/share/doc/initscripts-*/sysvinitfiles et de structurer 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 que /etc/init.d est 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 on activera votre script aux niveaux d'exécution 3 et 5, vos startups les plus courantes.

Veuillez consulter chkconfig --help pour plus d'informations.

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

1
Dejan