GNU/Linux >> Tutoriales Linux >  >> Cent OS

CentOS/RHEL 7:cómo crear un script personalizado para que se ejecute automáticamente durante el arranque

En RHEL 5 y 6, usábamos la función de inicio automático de RHEL a través de /etc/rc.d/init.d para ejecutar cualquier secuencia de comandos en el arranque del sistema. Comenzando con RHEL 7, init se reemplaza por systemd y el método anterior ahora está obsoleto. Hay otra forma en RHEL 7 de hacer lo mismo.

Crear el script personalizado

1. Primero vamos a crear un script personalizado de muestra para que se ejecute automáticamente al arrancar el 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. Compruebe y verifique el permiso del archivo.

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

3. Agregue el permiso de ejecución (si aún no está configurado).

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

Creando nueva unidad de servicio systemd

Cree un nuevo archivo de unidad de servicio en /etc/systemd/system/sample.service con el contenido a continuación. El nombre de la unidad de servicio lo define el usuario y puede ser cualquier nombre de su elección.

# 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

Aquí,

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

Habilitar la unidad de servicio systemd

1. Vuelva a cargar el proceso systemd para considerar sample.service recién creado O cada vez que se modifique sample.service.

# systemctl daemon-reload

2. Habilite este servicio para que se inicie después de reiniciar automáticamente.

# systemctl enable sample.service

3. Inicie el servicio.

# systemctl start sample.service

4. Reinicie el host para verificar si los scripts se inician como se esperaba durante el inicio del sistema.

# systemctl reboot


Cent OS
  1. cómo agregar un script personalizado a systemd en CentOS/RHEL 7

  2. Cómo ejecutar rsyslog como usuario no root en CentOS/RHEL 7

  3. Cómo crear un puente de red en CentOS/RHEL

  4. Cómo crear un repositorio yum en CentOS/RHEL

  5. Cómo crear un banner SSH en el servidor CentOS/RHEL

Cómo iniciar el servicio en el arranque con RHEL 8 / CentOS 8 Linux

Cómo instalar snmp en RHEL 8 / CentOS 8

Cómo configurar un Chef 12 en CentOS 7 / RHEL 7

Cómo instalar el servidor VNC en CentOS 8 / RHEL 8

Cómo crear y ejecutar un script de Shell en CentOS 8

CentOS / RHEL 5:Cómo iniciar en modo de rescate