Bonjour 😃
Il est peut être un peu tard mais pour la réalisation correcte d'un script il faut le coder d'une manière particulière détaillée à merveille ici :
http://www.andesi.org/admin:gerer-les-services-lances-au-demarrage
En gros c'est un code qui permet des actions différentes au démmarage et à l'arrêt (sinon le wifi se réinitialise à l'arrêt de l'ordi ==> perte de temps)
Ca permet donc de ne lancer le script qu'au démarrage (si on ne met rien dans stop).
#!/bin/sh
## Script basique donné à titre d'exemple et destiné à montrer
## comment fonctionne un script de démarrage.
## On pourrait utiliser la commande start-stop-daemon comme dans
## le script initial d'apache mais cela sortirait du cadre de cet
## article ;).
## On précise tout d'abord que c'est un script écrit en shell
## avec la ligne ci-dessus
## /etc/init.d/apache_exemple: démarre et arrête le service apache
## On définit la valeur de quelques variables avant de commencer
## le script proprement dit.
# Répertoires contenant de nombreux programmes exécutables
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Chemin vers le programme qui démarrera Apache
DAEMON=/usr/sbin/apache
# Optionnel : définit le nom et la description qui s'afficheront
# lors du démarrage ou de l'arrêt du script
NAME=apache
DESC="Webserver"
## Début du script proprement dit
# On vérifie tout d'abord que le programme apachectl est exécutable,
# sinon fin du script
test -x $DAEMON || exit 0
# Suivant l'argument que l'on va ajouter après le nom du script, on va
# définir différentes possibilités au script grâce à l'instruction
# case
case "$1" in
# si on tape # /etc/init.d/apache_exemple start, les instructions
# qui suivent vont être exécutées
start)
# Affiche : « Starting Webserver: apache »
# $DESC et $NAME sont bien entendu les variables que l'on a
# défini plus haut
echo -n "Starting $DESC: $NAME"
# Lance le serveur web Apache
apache & >& /dev/null
echo "."
;;
# Fin des instructions si on met l'argument start après le nom
# du script
# si on tape /etc/init.d/apache_exemple stop, les
# instructions suivantes vont être exécutées
stop)
# Affiche : « Stopping Webserver: apache »
echo -n "Stopping $DESC: $NAME"
# Tue tous les processus portant le nom « apache »
# sauvagement (« -9 ») et n'affiche
# pas le résultat (« /dev/null »)
killall -9 apache >& /dev/null
echo "."
;;
# Fin des instructions si on met l'argument stop après le nom
# du script si on tape /etc/init.d/apache_exemple restart,
# les instructions suivantes vont être exécutées
restart)
# Affiche : « Restarting Webserver: apache»
echo -n "Restarting $DESC: $NAME"
# Vérifie si le processus apache est déjà lancé ou non
if [ -z "$(ps ax | egrep apache)" ]; then
# Si il n'est pas lancé alors on affiche : « Apache isn't
# running, so not killed »
echo " Apache isn't running, so not killed" ;
else
# Sinon on tue tous les processus portant le nom apache
# comme décrit précédemment
killall -9 apache >& /dev/null ;
fi
# Attente d'une seconde avant de continuer le script
sleep 1
# Enfin on démarre le serveur apache
apache >& /dev/null
echo "."
;;
# Si on tape
# /etc/init.d/apache alors le script affichera
# les différents arguments que l'on peut donner au script
*)
echo "Usage: /etc/init.d/$NAME start|stop|restart" >&2
exit 1
;;
esac
exit 0
## Fin du script !
Ensuite
sudo chmod +x nomduscript
sudo update-rc.d nomduscript defaults
En espérant que ça serve à quelqu'un