GNU/Linux >> Tutoriels Linux >  >> Cent OS

CentOS / RHEL 7 :Comment créer un script personnalisé à exécuter automatiquement au démarrage

Dans RHEL 5 et 6, nous utilisions la fonction de démarrage automatique de RHEL via /etc/rc.d/init.d pour exécuter n'importe quel script au démarrage du système. À partir de RHEL 7, init est remplacé par systemd et la méthode précédente est désormais obsolète. Il existe un autre moyen dans RHEL 7 de faire la même chose.

Création du script personnalisé

1. Commençons par créer un exemple de script personnalisé à exécuter automatiquement au démarrage du système.

# vi /var/tmp/test_script.sh
#!/bin/bash
echo "This is a sample script to test auto run during boot" > /var/tmp/script.out
echo "The time the script run was -->  `date`" >> /var/tmp/script.out

2. Vérifiez et vérifiez l'autorisation du fichier.

# ls -lrt /usr/local/sbin/myscript.sh

3. Ajoutez une autorisation d'exécution (si elle n'est pas déjà définie).

# chmod +x /var/tmp/test_script.sh

Création d'une nouvelle unité de service systemd

Créez un nouveau fichier d'unité de service dans /etc/systemd/system/sample.service avec le contenu ci-dessous. Le nom de l'unité de service est défini par l'utilisateur et peut être n'importe quel nom de votre choix.

# vi /etc/systemd/system/sample.service
[Unit]
Description=Description for sample script goes here
After=network.target

[Service]
Type=simple
ExecStart=/var/tmp/test_script.sh
TimeoutStartSec=0

[Install]
WantedBy=default.target

Ici,

After= : If the script needs any other system facilities (networking, etc), modify the [Unit] section to include appropriate After=, Wants=, or Requires= directives.
Type= : Switch Type=simple for Type=idle in the [Service] section to delay execution of the script until all other jobs are dispatched
WantedBy= : target to run the sample script in

Activer l'unité de service systemd

1. Rechargez le processus systemd pour prendre en compte sample.service nouvellement créé OU chaque fois que sample.service est modifié.

# systemctl daemon-reload

2. Activez ce service pour qu'il démarre automatiquement après le redémarrage.

# systemctl enable sample.service

3. Démarrez le service.

# systemctl start sample.service

4. Redémarrez l'hôte pour vérifier si les scripts démarrent comme prévu lors du démarrage du système.

# systemctl reboot


Cent OS
  1. Comment créer un pont réseau sur CentOS 7 / RHEL 7

  2. Comment redémarrer le service réseau sur CentOS 8 ou RHEL 8

  3. comment ajouter un script personnalisé au systemd dans CentOS/RHEL 7

  4. Comment ajouter un script personnalisé à systemd dans CentOS/RHEL 7

  5. Comment exécuter automatiquement ntpdate lors du démarrage de NTPD dans CentOS/RHEL 5

Comment démarrer le service au démarrage avec RHEL 8 / CentOS 8 Linux

Comment installer SNMP sur RHEL 8 / CentOS 8

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Comment installer le serveur VNC sur CentOS 8 / RHEL 8

Comment créer et exécuter un script Shell dans CentOS 8

CentOS / RHEL 5 :Comment démarrer en mode de secours