Comment automatiser le démarrage des services sur Linux

Démarrage automatique des services sur Linux Lors de la configuration d'un serveur Linux, il est crucial de savoir comment configurer les services pour qu'ils démarrent automatiquement lors du redémarrage du système. L'administrateur système doit s'que tous les services nécessaires sont activés au démarrage afin d'éviter de devoir les démarrer manuellement à chaque redémarrage.


Il existe plusieurs raisons pour lesquelles un serveur peut être redémarré. Cela peut être dû à une programmation hebdomadaire ou mensuelle, ou à un redémarrage inattendu en raison d'un problème matériel ou du noyau. Quelle que soit la raison, une configuration correcte permet d'éviter des problèmes ultérieurs en démarrant automatiquement les services nécessaires après un redémarrage.

Sur CentOS ou RHEL 6.x, vous pouvez utiliser le script "httpd" pour démarrer Apache au démarrage en utilisant l'utilitaire "chkconfig". Vous pouvez exécuter la commande suivante pour activer le démarrage automatique d'Apache :

/sbin/chkconfig httpd on

Sur RHEL ou CentOS 7.x/8.x, la configuration des services au démarrage se fait avec systemd. Par exemple, pour démarrer "php-fpm" au démarrage, vous pouvez utiliser la commande suivante :

systemctl enable php-fpm

Sur Ubuntu, la configuration des services de démarrage automatique se fait en copiant le script dans le dossier "/etc/init.d/" et en exécutant la commande "update-rc.d". Par exemple, pour activer le démarrage automatique d'un service nommé "service_name", vous pouvez utiliser la commande suivante :

sudo cp /path/to/service_name /etc/init.d/
sudo update-rc.d service_name defaults

L'administration système est une carrière stimulante et il existe de nombreuses ressources disponibles pour améliorer ses compétences. Par exemple, Udemy propose des cours en ligne sur l'administration système qui peuvent vous aider à approfondir vos connaissances et compétences.

Dans le cas spécifique de l'installation ou de la mise à jour de PHP-FPM 5.6 sur CentOS 6.x, il existe également des ressources disponibles pour vous guider tout au long du processus.

Démarrage automatique des serveurs sur les systèmes Linux

Utilisation de Systemd ou System V comme système d'initialisation

Lorsqu'il s'agit de démarrer automatiquement un serveur sur un système Linux, il existe deux systèmes d'initialisation couramment utilisés : Systemd et System V.

Configuration et exécution du script dsmserv.rc pour démarrer automatiquement un serveur avec Systemd

Pour démarrer automatiquement un serveur avec Systemd, vous devez suivre les étapes suivantes :

    1. Vérifiez l'installation de l'utilitaire "systemctl" en exécutant la commande suivante :
      which systemctl
    2. Exécutez le script "dsmserv.rc" sous un ID utilisateur non root avec le même nom que le propriétaire de l'instance. Assurez-vous que le script est exécutable en utilisant la commande suivante :
      chmod +x dsmserv.rc
    3. Modifiez le script "dsmserv.rc" pour correspondre au nom du propriétaire de l'instance. Vous devez remplacer toutes les occurrences du nom d'utilisateur par le nom du propriétaire de l'instance.
    4. Modifiez le répertoire de l'instance de serveur dans le script "dsmserv.rc" si nécessaire. Par défaut, le script suppose que le répertoire de l'instance est "/opt/instance".
    5. Créez un fichier "Instance.service" dans "/etc/systemd/system" avec les commandes de démarrage, d'arrêt et de redémarrage du serveur. Voici un exemple de contenu pour ce fichier :
      [Unit]
      Description=DSM Server
      After=network.target

      [Service]
      ExecStart=/path/to/dsmserv.rc start
      ExecStop=/path/to/dsmserv.rc stop
      ExecReload=/path/to/dsmserv.rc restart
      User=instance_owner
      Group=instance_group

      [Install]
      WantedBy=multi-user.target

    6. Créez un lien symbolique vers le fichier de service dans "/etc/systemd/system/multi-user.target.wants" en utilisant la commande suivante :
      ln -s /etc/systemd/system/Instance.service /etc/systemd/system/multi-user.target.wants/Instance.service
    7. Activez le service d'initialisation Systemd avec la commande suivante :
      systemctl enable Instance.service

Configuration et exécution du script dsmserv.rc pour démarrer automatiquement un serveur avec System V

Si vous utilisez System V comme système d'initialisation, suivez les étapes suivantes pour démarrer automatiquement un serveur :

  • Vérifiez les paramètres du noyau, les droits d'accès et les limites d'utilisateur pour vous que le serveur peut être démarré automatiquement.
  • Exécutez le script "dsmserv.rc" avec les utilitaires Linux "chkconfig" et "service". Assurez-vous que le script est exécutable en utilisant la commande suivante :
    chmod +x dsmserv.rc
  • Copiez le script "dsmserv.rc" dans "/etc/rc.d/init.d" en utilisant la commande suivante :
    cp dsmserv.rc /etc/rc.d/init.d/
  • Renommez la copie du script pour correspondre au nom du propriétaire de l'instance. Par exemple, si le nom du propriétaire de l'instance est "instance_owner", vous pouvez renommer le script en utilisant la commande suivante :
    mv /etc/rc.d/init.d/dsmserv.rc /etc/rc.d/init.d/instance_owner
  • Modifiez le répertoire de l'instance de serveur dans le script "dsmserv.rc" si nécessaire. Par défaut, le script suppose que le répertoire de l'instance est "/opt/instance".
  • Configurez le niveau d'exécution pour le démarrage automatique du serveur en utilisant l'utilitaire "chkconfig". Par exemple, pour démarrer le script aux niveaux d'exécution 3, 4 et 5, vous pouvez utiliser la commande suivante :
    chkconfig --level 345 instance_owner on
  • Démarrage et arrêt du serveur avec la commande "service". Par exemple, pour démarrer le serveur, vous pouvez utiliser la commande suivante :
    service instance_owner start
  • Créer un service pour démarrer un exécutable automatiquement lors du démarrage du systèmeSi vous souhaitez créer un service pour démarrer un exécutable automatiquement lors du démarrage du système, vous pouvez utiliser le gestionnaire de services "systemd". Voici les étapes à suivre :
    1. Créez un fichier de définition de service dans "/usr/lib/systemd/system" en utilisant un éditeur de texte. Par exemple, vous pouvez créer un fichier nommé "service_name.service".
    2. Liez le service à l'exécutable en utilisant son chemin complet. Vous pouvez spécifier le chemin de l'exécutable dans la section "ExecStart" du fichier de définition de service.
    3. Attribuez un nom, un utilisateur et un groupe au service en utilisant les directives "Description", "User" et "Group" du fichier de définition de service.
    4. Paramétrez le service pour qu'il redémarre automatiquement en cas d'échec en utilisant la directive "Restart=always" du fichier de définition de service.
    5. Redémarrez "systemd" et activez le service en utilisant les commandes suivantes :
      systemctl daemon-reload
      systemctl enable service_name.service
    6. Démarrez le service en utilisant la commande suivante :
      systemctl start service_name.service
    7. Vérifiez que le service démarre automatiquement en redémarrant le système. Vous pouvez utiliser la commande suivante pour vérifier si le service a bien démarré :
      ps -ef | grep service_name.service
    8. Si nécessaire, vous pouvez forcer l'arrêt du processus du service en utilisant la commande suivante :
      sudo kill -9 PROCESS_NUMBER
    9. Vérifiez que le service redémarre automatiquement après avoir forcé l'arrêt. Vous pouvez utiliser la commande suivante pour vérifier si le service a bien redémarré :
      ps -ef | grep service_name.service
Index
  1. Démarrage automatique des serveurs sur les systèmes Linux
    1. Utilisation de Systemd ou System V comme système d'initialisation
    2. Configuration et exécution du script dsmserv.rc pour démarrer automatiquement un serveur avec Systemd
    3. Configuration et exécution du script dsmserv.rc pour démarrer automatiquement un serveur avec System V

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Go up