web-dev-qa-db-fra.com

Comment créer un script de démarrage init.d

Je veux juste exécuter une commande très simple au démarrage. Comment puis je faire ça? J'ai cherché sur Google et il a des exemples très compliqués, mais ce dont j'ai besoin, c'est d'exécuter ce script au démarrage. Comment puis je faire ça?

Scénario

./init.d/opscenter-agent start

8
sed

Si vous souhaitez effectuer cette opération au démarrage du système (contrairement à la connexion à votre ordinateur), saisissez les commandes que vous souhaitez exécuter dans /etc/rc.local.

Voir [Ubuntu] Exécution d'un script au démarrage et à l'arrêt .

8
Li-aung Yip

Si le script n'a pas besoin d'être exécuté par root, vous pouvez faire ceci:

1) Ouvrez "Préférences des applications de démarrage" (Alt + F2 coller gnome-session-properties et cliquer Enter),

2) Appuyez sur "Ajouter" et sélectionnez votre script:

enter image description here

enter image description here


Si vous n'utilisez pas d'environnement graphique, vous pouvez placer les commandes juste avant la ligne exit 0 dans ce fichier: /etc/rc.local. (Pour le modifier, il suffit de coller au terminal Sudo nano /etc/rc.local.

3
desgua

L'approche /etc/rc.local "exécutera une commande très simple au démarrage", mais ce n'est pas une approche de script init.d, et elle est inférieure à divers égards. (Cela peut ne pas avoir d'importance, selon votre objectif).

Contrairement aux scripts init.d, les commandes rc.local n'offrent pas une interface standard pour démarrer et arrêter un processus, et n'offrent pas une grande capacité d'influence lorsqu'elles sont exécutées dans le processus de démarrage. Vous pouvez voir dans le script /etc/init.d/rc.local qu'il est exécuté après tout le reste (Required-Start: $all).

Si un script init.d est vraiment ce que vous voulez, il suffit généralement de saisir un script existant, de le copier et de le modifier, même si certains des scripts existants sont plus complexes que vous ne le souhaitez. Puisque c'est ainsi que la plupart des scripts init.d commencent, ubuntu fournit à cet effet /etc/init.d/skeleton.

Vaut également le coup d'oeil:

  • /etc/init.d/motd est un exemple minimal qui exécute quelque chose au démarrage, mais avec le paramètre Required-Start défini quand cela doit se produire.
  • /etc/init.d/cron est un point de départ simple pour un processus démon (donnez ou prenez la fonction parse_environment, dont vous n'avez probablement pas besoin).
1
mc0e