GNU/Linux >> Linux Esercitazione >  >> Cent OS

CentOS / RHEL 7:come creare uno script personalizzato da eseguire automaticamente durante l'avvio

In RHEL 5 e 6, stavamo utilizzando la funzione di avvio automatico di RHEL tramite /etc/rc.d/init.d per eseguire qualsiasi script all'avvio del sistema. A partire da RHEL 7 init viene sostituito da systemd e il metodo precedente è ora deprecato. C'è un altro modo in RHEL 7 per fare lo stesso.

Creazione dello script personalizzato

1. Creiamo prima uno script personalizzato di esempio da eseguire automaticamente all'avvio del sistema.

# 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. Verifica e verifica l'autorizzazione del file.

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

3. Aggiungi il permesso di esecuzione (se non è già impostato).

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

Creazione di una nuova unità di servizio systemd

Crea un nuovo file dell'unità di servizio in /etc/systemd/system/sample.service con il contenuto di seguito. Il nome dell'unità di servizio è definito dall'utente e può essere qualsiasi nome a tua scelta.

# 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

Ecco,

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

Abilita l'unità di servizio systemd

1. Ricarica il processo systemd per considerare sample.service appena creato OPPURE ogni volta che sample.service viene modificato.

# systemctl daemon-reload

2. Abilita questo servizio per l'avvio automatico dopo il riavvio.

# systemctl enable sample.service

3. Avvia il servizio.

# systemctl start sample.service

4. Riavvia l'host per verificare se gli script vengono avviati come previsto durante l'avvio del sistema.

# systemctl reboot


Cent OS
  1. Come creare una nuova partizione /boot in CentOS/RHEL

  2. come aggiungere uno script personalizzato al systemd in CentOS/RHEL 7

  3. Come eseguire rsyslog come utente non root in CentOS/RHEL 7

  4. Come creare un bridge di rete in CentOS/RHEL

  5. Come creare un repository yum in CentOS/RHEL

Come avviare il servizio all'avvio con RHEL 8 / CentOS 8 Linux

Come installare snmp su RHEL 8 / CentOS 8

Come configurare uno Chef 12 su CentOS 7 / RHEL 7

Come installare il server VNC su CentOS 8 / RHEL 8

Come creare ed eseguire uno script di shell in CentOS 8

CentOS / RHEL 5:come avviare in modalità di ripristino