Comment démarrer automatiquement les services au démarrage sous Linux ?

L’un des éléments essentiels qu’un administrateur système doit savoir est de savoir comment configurer le service au démarrage. Ainsi, lorsqu’un serveur redémarre, il démarre automatiquement.

Il peut y avoir diverses raisons au redémarrage du serveur, notamment les suivantes.

  • Programmé hebdomadairement, mensuellement
  • Inattendu en raison d’un problème matériel/noyau

En faisant la bonne configuration, vous n’avez pas à les démarrer manuellement à chaque redémarrage.

Un peu d’automatisation. N’est-ce pas?

Les exemples suivants concernent deux distributions populaires testées sur DigitalOcean les serveurs.

CentOS ou RHEL 6.x

Dans l’exemple suivant, j’ai pris un serveur HTTP Apache, mais la procédure reste la même pour tous les autres services que vous souhaitez démarrer au démarrage dans la version Red Hat Enterprise Linux (RHEL) ou CentOS 6.

Vous pouvez conserver n’importe quel nom de fichier de script, et ici j’ai gardé httpd

  • Devenez un utilisateur root sur votre serveur Linux
  • Créez ou copiez votre script sous /etc/init.d/
[[email protected] init.d]# ls -ltr httpd
-rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd
[[email protected] init.d]#

Nous utiliserons l’utilitaire chkconfig qui est disponible par défaut sur Linux ou CentOS.

  • Ajouter un script pour démarrer au démarrage en utilisant chkconfig avec le paramètre –add
[[email protected] init.d]# chkconfig --add httpd
[[email protected] init.d]# chkconfig httpd on
  • Confirmez que le script est ajouté avec succès avec –list
[[email protected] init.d]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email protected] init.d]#

C’est tout! Le script httpd sera appelé pour démarrer les services au démarrage de Linux.

  8 choses à faire après l'installation de Linux Mint 19

Si vous devez désactiver le service de démarrage automatique, vous pouvez utiliser les commandes suivantes

chkconfig httpd off
chkconfig --del httpd

RHEL ou CentOS 7.x/8.x

La procédure de configuration des services au démarrage dans RHEL 7 est légèrement différente de celle de RHEL 6. Elle utilise systemd pour gérer les services.

La plupart des logiciels comme les scripts Apache, PHP, MySQL, Nginx sont ajoutés dans les services lorsque vous les installez.

Prenons un exemple de PHP-FPM.

Tout d’abord, voyons le statut de php-fpm (cela suppose que vous avez déjà des scripts dans /usr/lib/systemd/system/)

[[email protected] ~]# systemctl status php-fpm
php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: inactive (dead) 
[[email protected] ~]#

Comme vous pouvez le voir, l’état est désactivé, ce qui signifie qu’il n’est pas configuré pour démarrer au démarrage.

  Comment comparer des fichiers vidéo sous Linux avec Identity

Permettons à php-fpm de démarrer au démarrage en utilisant systemctl

[[email protected] ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[[email protected] ~]#

Voyons maintenant l’état

[[email protected] ~]# systemctl status php-fpmphp
php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)    Active: inactive (dead) 
[[email protected] ~]#

php-fpm est prêt à démarrer au démarrage. Testons-le en redémarrant le serveur.

Si vous avez besoin de désactiver les services de démarrage au démarrage, vous pouvez utiliser la commande ci-dessous

systemctl disable php-fpm

Vous préférerez peut-être également consulter cet article expliquant systemd et les services de démarrage automatique au démarrage.

  Comment afficher les commentaires de mot de passe dans le terminal Linux

Ubuntu

La configuration des services de démarrage automatique dans Ubuntu est légèrement différente. Disons que le nom du script est Nginx

  • Connectez-vous au serveur Ubuntu avec root
  • Copiez le script dans le dossier /etc/init.d/
  • Exécutez la commande ci-dessous
update-rc.d nginx defaults
  • Redémarrez le serveur pour vous assurer que les services sont démarrés.

Cela m’a aidé et je pense que cela vous sera également bénéfique.

L’administration système est toujours amusante et stimulante, et si vous cherchez à dynamiser votre carrière, vous pouvez vous référer à ceci Cours Udemy.

Ensuite, découvrez comment trouver la raison du redémarrage soudain de Linux.
Rendez-vous ici pour installer/mettre à niveau PHP-FPM 5.6 sur CentOS 6.x.

Vous avez apprécié la lecture de l’article ? Que diriez-vous de partager avec le monde ?