Cómo ejecutar automáticamente scripts y comandos de inicio de Linux

Los scripts de inicio de Linux son herramientas o programas que ejecuta el kernel cada vez que se reinicia el sistema. Los usuarios pueden aprovechar varios comandos de inicio de Linux para configurar programas o ejecutar ciertas tareas una vez que el sistema se haya iniciado. Afortunadamente, hay varias formas de ejecutar automáticamente scripts de inicio en Linux. En esta guía, le mostraremos algunas formas sencillas pero útiles de abordar esto. Debería poder configurar trabajos de inicio personalizados una vez que haya leído esta guía. Por lo tanto, quédese con nosotros y consulte los siguientes métodos para ejecutar scripts de inicio automático.

¿Cómo configurar los scripts de inicio de Linux?

Puede configurar los comandos de inicio de varias formas. Demostraremos el uso de de y las tareas de inicio para ejecutar scripts al inicio. También le mostraremos cómo hacer esto usando Upstart.

Método – 1: configurar scripts de inicio usando CRON

CRON es un programador de trabajos simple pero poderoso que puede ejecutar ciertas tareas al reiniciar el sistema. Podemos crear fácilmente un trabajo de inicio usando CRON. Por ejemplo, suponga que tiene un script de prueba llamada test.sh . Puede ejecutarlo después de cada reinicio del sistema agregando la siguiente línea a su crontab.

@reboot /path/to/test.sh

usando cron para scripts de inicio

La directiva @reboot le dice a CRON que ejecute el script personalizado después de una operación de arranque / reinicio. Simplemente edite su crontab y agregue la línea anterior. Para editar el crontab para su usuario, use el siguiente comando en su .

$ crontab -e

Sin embargo, si desea utilizar CRON para programar scripts de inicio, debe ocuparse de dos cosas. Primero, el demonio CRON debe estar ejecutándose después de que su sistema se reinicie. Este suele ser el caso de la mayoría de las distribuciones de Linux. Y, si su secuencia de comandos usa variables de entorno, debe incluirlas en su crontab.

Método – 2: configurar los scripts de inicio de Linux usando init

Un método simple de ejecutar trabajos al reiniciar es colocarlos en el directorio /etc.init.d . Pero primero, asegúrese de que el script sea ejecutable. Puede agregar permiso de ejecución a un script llamado test.sh usando el siguiente comando.

$ sudo chmod u+x test.sh

Ahora, cópielo en el directorio init.d usando el siguiente comando simple.

$ sudo cp test.sh /etc/init/d

comandos de inicio de linux

Debe crear un enlace simbólico para este script en el directorio rc2.d. Puede hacer esto usando el siguiente comando.

$ cd /etc/rc2.d
$ sudo ln -s /etc/init.d/test.sh

Tenga en cuenta que hay varios directorios rcN.d en Linux. El número seguido de rc indica el nivel de ejecución. Estamos enlazando simbólicamente nuestro script de prueba para ejecutar el nivel 2, ya que es el nivel de ejecución multiusuario predeterminado. Es posible que deba cambiar su nivel de ejecución según sus requisitos. Ahora que hemos enlazado simbólicamente el script, necesitamos cambiarle el nombre de acuerdo con el esquema de nomenclatura rc.

$ sudo mv test.sh S70test.sh

Tenga en cuenta que estamos agregando una S seguida del número 70. La S significa inicio y debe agregarla al principio de su secuencia de comandos. De lo contrario, init no iniciará su aplicación después del proceso de inicio.

Método – 3: configurar los comandos de inicio con Upstart

El demonio Upstart proporciona una inmensa personalización y reduce muchos de los problemas asociados con system V init. Upstart no se basa en scripts arcanos para cargar servicios en el inicio y ofrece un sistema flexible impulsado por eventos. Además, las configuraciones se realizan agregando un archivo de configuración. Por ejemplo, el siguiente servicio Upstart ejecuta el comando echo al reiniciar el sistema.

Primero, cree el archivo de configuración con un sufijo .end en su directorio / etc / init . No lo mezcle con /etc/init.d/ ya que son directorios diferentes de su .

$ nano test.conf
description "testing Linux startup commands"

start on runlevel [2345]
stop on runlevel [!2345]

expect fork
respawn

exec echo "This is a test run!"

Aquí están los detalles esenciales de estas etiquetas.

  • descripción: describe el propósito de este servicio
  • Inicio: define el nivel de ejecución como 2,3,4 y 5, que es el predeterminado
  • detener: sale del servicio cada vez que el sistema alcanza un nivel de ejecución diferente
  • fork: separa el servicio y lo hace ejecutar en segundo plano
  • respawn: define el inicio automático en términos de bloqueo del proceso
  • exec: define el comando que se ejecutará

Método – 4: configurar scripts de inicio mediante aplicaciones de inicio

permiten a los usuarios definir scripts o comandos de inicio utilizando la herramienta GUI Preferencias de aplicaciones de inicio. Puede encontrarlo yendo a Actividades> Tipo Inicio> Seleccionar preferencias de aplicaciones de inicio .

Opciones de aplicaciones de inicio de Linux

Una vez que esté abierto, haga clic en el botón Agregar de la barra lateral. Se abrirá un nuevo mensaje y donde puede agregar el script o comando de inicio. Haga clic en Examinar para ubicar y seleccionar su secuencia de comandos y agregar una descripción en el cuadro de comentarios. No olvide poner un nombre para el trabajo. Finalmente, haga clic en Agregar para completar el proceso.

agregar scripts de inicio de Linux

Pensamientos finales

Los scripts de inicio de Linux pueden ser una excelente manera de ejecutar ciertos comandos al inicio. Aumenta la productividad al permitir que los administradores se concentren en tareas más importantes. Además, los scripts de inicio también son un método excelente para agregar automatización al sistema. Linux permite a los usuarios implementar trabajos de inicio utilizando varios métodos. Hemos mostrado algunos de ellos para nuestros lectores en esta guía. Con suerte, estos le ayudarán a crear comandos de inicio personalizados sin ningún problema. Háganos saber sus pensamientos sobre esta guía en la sección de comentarios a continuación.

Leave a Comment

Your email address will not be published.