Sous la plupart des distributions, il existe un fichier exécuté automatiquement au démarrage dans lequel on peut mettre les commandes que l'on souhaite lancer automatiquement. Sur Debian, ce fichier n'existe pas. Nous allons ici en créer un.
L'ensemble des scripts de démarrage sont placés dans le répertoire /etc/init.d/. Ils sont appelés dans un ordre bien précis défini en fonction de quel level le système a été démarré.
Voici un script de démarrage basique. Il ne fait qu'afficher des instructions en fonction de l'argument qui lui est passé en paramètre. Créez donc un fichier comme celui-ci sans oublier de lui donner les droits en éxecution : chmod +x local
#!/bin/bash
case $1 in
start)
printf "Démarrer le script\n"
;;
stop)
printf "Stopper le script\n"
;;
restart | force-reload)
printf "Redémarrer le script\n"
;;
status)
printf "Afficher le statut du script\n"
;;
*)
printf "Usage: $0 {start|stop|restart|force-reload|status}\n"
;;
esac
exit 0
Ensuite pour le lancer avec l'argument start faite comme suit :
$ ./local start
C'est le principe utilisé par le système pour éxecuter les scripts de démarrage/arret.
Pour un exemple complet de fichier de démarrage pret à l'emploi, jetez un coup d'oeil dans le répertoire /etc/init.d/ et éditez le fichier skeleton. Celui-ci utilise un fichier de configuration et la gestion des PIDs.
On donne des droits adéquats :
chmod 755 /etc/init.d/local
On configure le script pour démarrer dans les modes 2 à 5 et s arrêter dans les modes 0 1 et 6 avec une priorité de 98
update-rc.d local start 98 2 3 4 5 . stop 98 0 1 6 . mkdir /etc/rc.d/ ln -s /etc/init.d/local /etc/rc.d/rc.local
Cependant, si ces liens existent déja, utilisez update-rc.d -f local remove pour les supprimer. Vous pourrez ensuite les redefinir avec la commande précédente.
Et voilà, il vous suffit donc de compléter votre fichier /etc/init.d/local pour lancer vos scripts de démarrage.