L'un des grands changements introduits par CentOS dans la version 7 était le manque d'exécution native pour les scripts personnalisés pour démarrer à partir du fichier /etc/rc.d/rc.local.
/etc/rc.d/rc.local était l'un des moyens les plus classiques d'ajouter des scripts personnalisés pour démarrer automatiquement après le démarrage de tous les scripts init.d sur les anciennes versions CentOS 5 et CentOS 6.
Cependant, de nombreuses choses ont changé dans le nouveau CentOS 7.x, notamment la manière dont il gère les services grâce au nouveau système de gestion des services.
Sur CentOS 7, ce fichier n'est plus exécuté par défaut (comme c'était le cas sur les versions précédentes de CentOS) en raison de l'adoption de systemd.
Comment exécuter automatiquement des scripts au démarrage sur CentOS 7 ?
Afin d'exécuter / exécuter des scripts automatiquement à partir du fichier rc.local (/etc/rc.d/rc.local), vous devez appliquer les autorisations d'exécution à ce fichier
Rendons-le exécutable en exécutant cette commande en tant que root :
chmod +x /etc/rc.d/rc.local
si cela ne fonctionne pas, essayez
chmod u+x /etc/rc.d/rc.local
Cette commande chmod active active le nouveau rc-local qui dépend du service Systemd.
Une fois cela fait, vous pouvez exécuter des scripts automatiquement en modifiant /etc/rc.local, qui est un lien symbolique vers le fichier /etc/rc.d/rc.local.
Maintenant, ajoutez simplement vos scripts au bas de ce fichier et c'est tout, à ce stade, vous devez exécuter automatiquement les scripts au démarrage sur CentOS 7.
Comment puis-je tester l'exécution automatique de mes scripts après le démarrage dans CentOS 7 ?
Facile. Testez le service rc-local en exécutant :
systemctl start rc-local
Une autre façon de le tester est de redémarrer votre serveur :
shutdow now -rf
Autres lectures :
- Notes de version de CentOS 7