Volver al blog

Cómo configurar un servicio de Linux para que se inicie automáticamente después de un reinicio o una caída del sistema: Parte 1 (Ejemplos prácticos)

Cómo configurar un servicio de Linux para que se inicie automáticamente después de un reinicio o una caída del sistema: Parte 1 (Ejemplos prácticos)

Introducción

En informática, las cosas no siempre salen como se planean. A menudo, las caídas inesperadas del sistema obligan a los administradores de sistemas a iniciar reinicios y a reiniciar servicios individuales. Averiguar y reiniciar cada servicio que su aplicación necesita para ejecutarse después de una caída del sistema o un reinicio puede ser tedioso. En esta primera entrega del tutorial de dos partes, le mostraremos cómo configurar los servicios para que se inicien automáticamente después de una caída del sistema o un reinicio del servidor con ejemplos prácticos. La segunda parte cubrirá información teórica sobre lo que logramos en la primera parte.

Utilizaremos el MySQL servicio de base de datos para los ejemplos prácticos. Sin embargo, los mismos principios se aplican a otros procesos que componen un servidor completo como Nginx, Apache, Redis, u otras aplicaciones. Puede consultar nuestros tutoriales sobre cómo instalar MySQL, Nginx, y Apache.

En las distribuciones de Linux, existen tres sistemas de inicialización (init) principales, dependiendo de la distribución que esté ejecutando. Algunas distribuciones pueden venir con dos o más sistemas init, como se describe a continuación:

  • System V – un sistema init más antiguo que se encuentra en distribuciones más antiguas como:
    • Ubuntu 9.04 y anteriores
    • CentOS 5 y anteriores
    • Debian 6 y anteriores
  • Upstart – utilizado en distribuciones anteriores como:
    • CentOS 6
    • Ubuntu 9.10 a Ubuntu 14.10 y Ubuntu 14.04
  • Systemd – utilizado en las distribuciones más recientes como:
    • CentOS 7
    • Debian 7 y 8.
    • Ubuntu 15.04 y más recientes

Antecedentes

Es común que los sistemas operativos, y especialmente los sistemas Linux y Unix tengan procesos y servicios ejecutándose en segundo plano. Dichos servicios pueden haber venido con el software del sistema operativo. Algunos pueden haber venido con las aplicaciones de usuario que instale.

Los servicios del sistema operativo incluyen:

  • sshd – Es el demonio que permite conexiones remotas.
  • cupsd – Es el demonio que controla la impresión.

Los servicios de aplicaciones instaladas incluyen:

  • httpd/apache2 – Un servicio que viene con el servidor web Apache2.
  • nginx – Un servicio que viene con el servidor web Nginx.

Para garantizar que nuestras aplicaciones web, bases de datos, servidores de correo, etc., sean accesibles, dichos servicios deben ejecutarse continuamente. Si es un administrador de sistemas o un desarrollador de aplicaciones curioso, querrá asegurarse de que dichos servicios se ejecuten continuamente y, en el desafortunado caso de una caída del sistema, se inicien automáticamente después de que el sistema se reinicie. Y eso es exactamente lo que aprenderemos en este tutorial práctico.

Aunque configurar alertas y monitorear continuamente su distribución de Linux es crucial, algunos servicios de Linux pueden autorrepararse si están bien configurados, gracias a los sistemas init que administran los servicios.

En las distribuciones de Linux, existen modos de operación que implementan la inicialización del sistema llamados niveles de ejecución. Para que un servicio se inicie automáticamente, debe agregarse a un nivel de ejecución. Todo sistema tipo Linux y Unix tiene cuatro niveles de ejecución comunes, como se indica a continuación:

  • 0 – El nivel de ejecución 0 indica el apagado del sistema.
  • 1 – El nivel de ejecución 1 indica el modo de rescate de usuario único.
  • 2, 3, 4 – Estos niveles de ejecución indican estados en los que el sistema ha arrancado en modo texto, multiusuario y con red habilitada.
  • 5 – El nivel de ejecución 5 indica modo gráfico, multiusuario y con red habilitada.
  • 6 – El nivel de ejecución 6 indica el reinicio del sistema.

En este tutorial, aprenderá cómo configurar un servicio de Linux para que se inicie automáticamente cuando el sistema se reinicie utilizando los tres modos init diferentes explicados anteriormente: System V, Upstart y Systemd.

Requisitos previos

Este tutorial práctico asume que tiene un VPS Linux que puede usar para seguir los pasos. Puede aprovechar el período de prueba gratuito en Cloudsigma y encender algunos servidores para probar los comandos. Puede seguir nuestro tutorial paso a paso sobre cómo configurar sus servidores Ubuntu.

Los servidores que cree en este tutorial son puramente para realizar las prácticas y no debe probar los comandos en un servidor de producción, ya que se interrumpirán muchos servicios.

Algunas de las distribuciones que necesitará:

  • Ubuntu 9.04 y anteriores, o Debian 6 x64 (se utilizarán para demostrar el sistema init System V)
  • Ubuntu 14.04 x64 (se utilizará para demostrar Upstart)
  • CentOS 7 x64 (se utilizará para demostrar systemd).

Asegúrese de haber configurado un usuario no raíz con privilegios sudo.  Puede echar un vistazo a nuestro tutorial sobre cómo configurar el archivo sudoers aquí.

Uso de System V

Este es el sistema de inicio más antiguo que se utilizó en distribuciones de Linux anteriores como:

  • Debian 6 y anteriores
  • CentOS 5 y anteriores
  • Ubuntu 9.04 y anteriores

La mayoría de las aplicaciones de servidor instalables, como MySQL y Nginx, vienen con scripts de inicio guardados en el directorio /etc/init.d de forma predeterminada. Estos scripts les permiten iniciarse después de un reinicio. Sin embargo, es posible que no estén configurados para iniciarse automáticamente después de una caída del sistema.

Lista de verificación de inicio automático para System V

El primer paso es verificar la disponibilidad de un script de inicio Bash funcional en el directorio /etc/init.d/service. Para habilitar el servicio, en las distribuciones Debian o Ubuntu, use el comando update-rc.d, en un sistema CentOS, use chkconfig. Reemplace con el nombre real de su servicio:

El comando anterior crea un enlace simbólico en el directorio /etc/rc2.d que se parece a la salida a continuación. No lo cree usted mismo, ya que se genera automáticamente:

Al final del archivo /etc/inittab agregue una línea respawn como se muestra en el ejemplo genérico a continuación. Recuerde reemplazarla con la ruta real al script de inicio de su aplicación:

Introduzca los siguientes comandos para detener e iniciar el servicio:

A continuación, reinicie el servidor:

How to Test the Changes?

Después de reiniciar el servidor, verifique que el servicio esté activo buscando el número de proceso con el comando:

Termine el proceso usando el comando:

Después de cinco minutos, verifique que el servicio esté activo y en funcionamiento.

Configuración práctica de System V con un servicio real

En los siguientes pasos, probaremos una aplicación de servidor real como MySQL. Debería tener acceso a una máquina virtual Debian 6. Con una cuenta que tenga privilegios sudo, conéctese a ella usando SSH o putty si está en un escritorio Windows.

Step 1: Install MySQL

Introduzca el siguiente comando para instalar MySQL:

Cuando comience la instalación, se le pedirá una contraseña de root. Luego, introduzca una contraseña de su elección y confírmela. Espere a que se complete la instalación, luego introduzca el siguiente comando para comenzar a asegurar MySQL:

Se le pedirá la contraseña de root que introdujo anteriormente. Presione N para mantenerla. A continuación, presione Y para aceptar las siguientes indicaciones para eliminar usuarios anónimos, deshabilitar el inicio de sesión remoto de root y eliminar la base de datos de prueba. Finalmente, acepte recargar la tabla de privilegios para que los cambios se reflejen automáticamente.

Esto completa la instalación de MySQL. Puede verificar si el servicio se está ejecutando introduciendo el siguiente comando:

Paso 2: Configurar MySQL para que se inicie automáticamente después del reinicio

MySQL está configurado de forma predeterminada para iniciarse después de un reinicio del sistema. Puede encontrar el enlace simbólico al script de inicialización de MySQL en el directorio /etc/rc2.d . Estos enlaces simbólicos no se crean manualmente. Puede usar el comando update-rc.d para habilitar y deshabilitar servicios.

Introduzca el siguiente comando para listar el contenido del directorio:

Compruebe si puede notar el enlace simbólico al script de inicio de MySQL:

La S es importante, porque mientras pueda ver una S script bajo el directorio del nivel de ejecución predeterminado para el servicio, el sistema init iniciará el servicio cuando el servidor arranque. Para verificar que MySQL se iniciará automáticamente después de reiniciar, ingrese el siguiente comando para reiniciar el sistema:

Su conexión ssh se terminará durante el reinicio. Espere un minuto o dos y vuelva a conectarse. Ejecute el siguiente comando para verificar si el servicio se está ejecutando:

La salida indicará que el servicio se está ejecutando. Esto significa que se inició automáticamente después del reinicio. Para los servicios que no están configurados para iniciarse automáticamente, tendrá que configurarlos usted mismo.

Podemos deshabilitar el servicio MySQL y reiniciar el sistema para probar si se inicia automáticamente. En sistemas Debian y Ubuntu, puede usar el comando update-rc.d para agregar o eliminar servicios del sistema init. Ingrese el siguiente comando para deshabilitar el servicio MySQL:

Reinicie el sistema y vuelva a conectarse usando ssh. Intente conectarse a MySQL usando el siguiente comando:

Obtendrá un error de MySQL como:

A continuación, ingrese el siguiente comando para volver a habilitar el servicio:

Si está en una distribución CentOS, el comando será:

Dado que MySQL no se estaba iniciando inicialmente, tiene que iniciarlo. Ingrese el siguiente comando:

Paso 3: Configurar un servicio (MySQL) para que se inicie automáticamente después de una caída del sistema

System V no iniciará un proceso automáticamente después de una caída. Podemos simular una caída del sistema buscando el ID de proceso de MySQL y finalizándolo. Ingrese el siguiente comando para encontrar el ID de proceso de MySQL:

En la salida, busque los procesos de MySQL. Los procesos principales que ejecutan MySQL son mysqld_safe y mysqld. Anote sus ID de proceso (estos son números) y use los siguientes comandos para finalizarlos:

Verifique el estado del servicio MySQL usando el comando:

La salida indicará que MySQL se ha detenido. Podemos reiniciarlo manualmente usando el comando service start. Sin embargo, queremos un proceso automático. Para lograr este comportamiento automático, necesitamos editar el archivo /etc/inittab . Este es el primer archivo que lee el init de System V al arrancar. El archivo /etc/inittab contiene instrucciones sobre cómo debe comportarse un proceso si se cae. Si se configura correctamente, reinicia el sistema nuevamente cuando hay una caída. Para nuestro caso, queremos asegurarnos de que MySQL sea uno de esos servicios.

El archivo /etc/inittab es extremadamente crucial para una distribución de Linux. Determina si su sistema se reiniciará o no. Si comete un error en los comandos, es posible que el sistema no se inicie cuando reinicie. Como habíamos indicado, esperamos que solo esté probando estos comandos en un entorno de servidor de prueba y no en un entorno de producción.

Primero, haga una copia del archivo antes de comenzar a editar:

A continuación, abra el archivo usando nano:

Desplácese hasta el final del archivo y agregue el siguiente fragmento de código:

El comando anterior reinicia el proceso mysql_safe después de una caída del sistema. Tiene cuatro campos separados por dos puntos, como se explica a continuación:

  • ms: Especifica un ID para el proceso.
  • 2345: Especifica los niveles de ejecución a los que se aplica el comando. En este caso: niveles de ejecución 2, 3, 4, 5.
  • respawn: Especifica la acción. En este caso, estamos regenerando (respawning) o reiniciando el proceso.
  • /bin/sh /usr/bin/mysqld_safe: La última parte define el proceso: el comando que se ejecuta para reiniciar el proceso.

Ahora presione Ctrl + O y Enter para guardar el archivo. Luego, presione Ctrl + X para cerrar el editor. Ingrese el siguiente comando para iniciar el servicio:

Reinicie el servidor, luego ejecute los comandos explicados anteriormente para encontrar el número de proceso. A continuación, finalice los procesos, comenzando con el comando ps -ef | grep mysql. Espere unos minutos e ingrese el siguiente comando para verificar el estado de MySQL:

La salida debería indicar que el servicio MySQL está activo y en ejecución, lo que significa que pudo reiniciarse después de una caída. Puede seguir el mismo proceso para otros servicios en su servidor.

Inicio automático de servicios con Upstart

Upstart es otro sistema de inicio que se introdujo inicialmente en Ubuntu 6 y luego se convirtió en el predeterminado en Ubuntu 9.10. RHEL 6 y sus derivados, y Chrome OS de Google también utilizan el sistema de inicio Upstart. Para los pasos de esta sección, debe tener un servidor que ejecute cualquiera de las siguientes distribuciones:

  • Ubuntu 9.10 a Ubuntu 14.10, y la versión LTS de Ubuntu, es decir, Ubuntu 14.04.
  • CentOS 6

Veamos cómo puede configurar los archivos de Upstart para iniciar automáticamente los servicios de su servidor en caso de reinicios o caídas del sistema. Upstart utiliza archivos de configuración almacenados en el directorio /etc/init para controlar los servicios en una distribución de Linux. Las versiones más recientes de las aplicaciones de servidor como MySQL y Nginx instalan sus propios scripts de inicio en el directorio /etc/init . Por lo tanto, se iniciarán después del reinicio y después de una caída del sistema sin que usted tenga que hacer nada.

Lista de verificación de inicio automático para Upstart

Aquí hay algunas configuraciones de referencia para verificar y asegurarse de que su servicio esté configurado para iniciarse automáticamente.

  • Asegúrese de que el servicio tenga un script de inicio en el directorio /etc/init/service_name.conf service_name siendo el nombre real de su servicio en particular. Debe verificar las siguientes dos líneas en el archivo /etc/init/service_name.conf :
    • Una línea que contenga algo como start on runlevel [2345]. Indica que el servicio se iniciará al reiniciar el sistema.
    • Una línea que contenga algo como respawn. Indica que el servicio se reaparecerá/reiniciará después de una caída del sistema.
  • Asegúrese de que no haya ningún archivo de anulación de servicio en el directorio: /etc/init/service_name.override. A menos que usted u otro administrador del sistema lo hayan creado anteriormente.
  • Ingrese los siguientes comandos para detener e iniciar el servicio:
  • Reinicie el sistema y vuelva a conectarse después de unos minutos. Ahora, realice algunas pruebas para ver si las cosas funcionan
  • Después del reinicio, verifique que el servicio esté activo y en ejecución. Ingrese el siguiente comando para buscar el número de proceso, reemplace service_name con el nombre real del servicio que está probando:
  • Una vez que tenga el número de proceso, ingrese el siguiente comando para finalizar el proceso:
  • Espere unos segundos y vuelva a verificar que el proceso esté activo y en ejecución.

Configuración práctica de Upstart con un servicio real

En la siguiente sección, intentaremos demostrar cómo puede usar Upstart con un servicio real. Realizaremos las pruebas en un servidor de máquina virtual Ubuntu 14.04 con MySQL como servicio. Conéctese a su servidor de prueba Ubuntu 14.04 usando ssh o putty si está en Windows. Como norma, debe usar un usuario no root con privilegios de sudo. Una vez que haya iniciado sesión, podemos comenzar con los pasos:

Paso 1: Instalar MySQL

Recuerde siempre actualizar sus paquetes antes de instalar cualquier software nuevo:

Ahora, ingrese el siguiente comando para instalar el servidor MySQL:

Cree una contraseña de root cuando se le solicite. Espere a que se complete la instalación y ejecute el siguiente comando para comenzar a asegurar su instalación de MySQL:

Siga las instrucciones, tal como lo hizo en la sección anterior. Luego, limpie los privilegios para que los cambios surtan efecto de inmediato.

Paso 2: Configurar un servicio (MySQL) para que se inicie automáticamente después de un reinicio del sistema

MySQL está configurado para iniciarse automáticamente después de un reinicio. Solo estamos mirando sus archivos de configuración para aprender cómo podemos configurar nuestras aplicaciones personalizadas para que también se inicien automáticamente después de un reinicio. El servicio MySQL se inició automáticamente después de la instalación. Sin embargo, confirmemos que se está ejecutando ingresando el siguiente comando:

Debería ver una salida que indique que el servicio MySQL se está ejecutando, algo como:

Reinicie su servidor y vuelva a iniciar sesión. Nuevamente, ingrese el siguiente comando para probar que se está ejecutando:

La salida indicará que MySQL se está ejecutando, lo que significa que se inició automáticamente después del reinicio. En este caso, no es necesario cambiar nada. Sin embargo, este comportamiento puede no ser el mismo para otras aplicaciones. Quizás se pregunte cómo sabe el sistema de inicio Upstart que debe iniciar automáticamente MySQL después del reinicio. MySQL instala su archivo de configuración de inicio de Upstart en la ubicación /etc/init/mysql.conf. Los archivos de Upstart no son scripts de shell, sino archivos de texto con bloques de script para eventos pre-start y post-start. Los bloques indican al sistema Upstart qué ejecutar cuando el proceso MySQLd se está iniciando o cuando ya se ha iniciado.

Ingrese el siguiente comando para abrir el archivo en el editor con nano:

La salida del archivo puede verse así:

Como se ve, el bloque start indica a MySQL que se inicie en los runlevels 2,3,4,5, y no en 0,1,6. Si está definiendo una configuración de Upstart para su aplicación, la definirá en esta sección. El bloque respawn indica a Upstart qué hacer después de una caída. Discutiremos eso en la siguiente sección, así que mantenga el archivo abierto en el editor nano.

Paso 3: Configurar un servicio (MySQL) para que se inicie automáticamente después de una caída

La respawn directive in the /etc/init/mysql.conf indica a Upstart que reinicie el servicio MySQL después de una caída.

La directiva respawn limit indica a Upstart cuántas veces debe intentar reiniciar el servicio MySQL caído en un intervalo especificado en segundos. El primer argumento, (2), indica el número de intentos. El segundo argumento, (5), indica el intervalo en segundos. Si después de una caída, Upstart no logra restablecer el servicio MySQL dentro del límite, este permanecerá detenido. Este comportamiento está diseñado para proteger el sistema y evitar que afecte su estabilidad en caso de que intente reiniciar continuamente servicios que fallan de forma constante. Ahora puede cerrar el editor sin realizar ningún cambio.

Probemos si MySQL volverá a iniciarse automáticamente después de una caída. Ingrese el siguiente comando para verificar el estado y obtener el número de proceso del servicio MySQL:

La salida debería ser algo como esto. Tome nota del número de proceso, ya que lo usaremos más adelante:

A continuación, ingrese el siguiente comando para finalizar (kill) el proceso. Esto emula una caída. Reemplácelo con el número de proceso que obtuvo en el comando anterior:

Verifique nuevamente el estado de MySQL ingresando el siguiente comando:

Debería estar ejecutándose de nuevo, pero probablemente con un número de proceso diferente:

Esto sucede debido a la directiva respawn en el /etc/init/mysql.conf archivo. Asegura que en caso de cualquier fallo del sistema, MySQL se iniciará automáticamente. Por lo tanto, su aplicación que depende de una base de datos MySQL continuará funcionando como se espera.

Servicios de inicio automático con Systemd

Systemd es un sistema de inicialización que se encuentra en la mayoría de las distribuciones de Linux recientes. Es probable que sea lo que use cuando cree un nuevo VPS. Se introdujo por primera vez en Fedora. Viene con RHEL 7 y sus derivados como CentOS 7. A partir de Ubuntu 15.04, encontrará Systemd de forma nativa. Systemd es compatible con versiones anteriores de los scripts y comandos de inicialización de System V. Por lo tanto, cualquier servicio de System V debería funcionar bajo Systemd. La mayoría de los comandos utilizados en System V y Upstart se han modificado para funcionar con Systemd.

Con Systemd, la mayoría de las aplicaciones de servidor como MySQL y Nginx se iniciarán automáticamente después de un reinicio o apagado, sin que tenga que cambiar nada. Para sus aplicaciones personalizadas, debe crear sus propios scripts de inicio para reiniciar automáticamente los servicios.

Para obtener información más detallada sobre Systemd, consulte nuestro tutorial sobre cómo administrar servicios y unidades de Systemd con Systemctl.

Lista de verificación de inicio automático para Systemd

Aquí hay algunas configuraciones de referencia para verificar y asegurarse de que su servicio esté configurado para iniciarse automáticamente con Systemd.

  • El servicio debe tener un script de inicio de Systemd funcional ubicado en /etc/systemd/system/multi-user.target.wants/serviceName.service. ServiceName es el nombre real del servicio que está configurando.
  • El comando para habilitar el servicio es:
  • El comando crea un enlace simbólico en el directorio /etc/systemd/system/multi-user.target.wants/ que puede verse similar a:
  • Con ese enlace simbólico en su lugar, habrá habilitado el reinicio automático después del arranque.
  • Para activar los cambios, vuelva a cargar el demonio del sistema y luego reinicie el servicio usando los siguientes comandos:
  • Para probar si sus configuraciones iniciarán el servicio después de un reinicio, puede reiniciar el sistema:
  • Cuando el sistema se reinicie, busque el número de proceso usando el comando:
  • Anote el número de proceso y finalícelo usando el comando:
  • Espere unos segundos y busque el servicio nuevamente para verificar que esté activo de nuevo.

Configuración práctica de Systemd con un servicio real

En esta sección, intentaremos configurar el servicio MySQL en una máquina virtual Ubuntu 20.04.

Paso 1: Conéctese a su Servidor Privado Virtual (Ubuntu 20.04 o CentOS 7 x64)

Inicie sesión en su VPS o cree uno desde el panel de Cloudsigma y conéctese usando ssh o putty si está en Windows. Estamos usando el servidor Ubuntu 20.04 para esta sección del tutorial. Los mismos comandos se pueden aplicar a CentOS 7. Asegúrese de usar un usuario no root con privilegios de sudo.

Paso 2: Instalar MySQL (el servicio que estamos configurando)

Primero, actualice su sistema:

Luego, puede instalar el servidor MySQL usando el comando:

A continuación, ejecute el siguiente comando para comenzar a asegurar MySQL:

El script le preguntará si desea configurar el componente VALIDATE PASSWORD o presionar cualquier letra para continuar sin habilitar el componente. Siga este enlace para obtener más información sobre el componente de validación de contraseña de MySQL.

Presione 1 para habilitarlo y luego elija el nivel medio presionando 1. Ingrese una contraseña segura: una combinación de mayúsculas, minúsculas, caracteres especiales y números. Confirme la contraseña y confirme el mensaje que le pregunta si desea utilizar la contraseña que ingresó como contraseña de root. Para el resto de las indicaciones, presione y para aceptarlas como lo hizo en las secciones anteriores. Finalmente, limpie los privilegios de MySQL para recargar los cambios.

Paso 3: Configurar MySQL para que se inicie automáticamente después de un reinicio

MySQL está configurado para iniciarse después de un reinicio, por lo que no tiene que realizar ningún cambio. Sin embargo, podemos usar los archivos de configuración de MySQL para aprender cómo configurar nuestros archivos personalizados.

Primero, verifique si el servicio MySQL fue configurado para iniciarse en el arranque. Ingrese el siguiente comando (tenga en cuenta que en CentOS el servicio MySQL se llama mysqld):

Aquí está la salida:

CS screenshot

A continuación, reinicie el VPS ingresando el siguiente comando:

Conéctese de nuevo usando ssh e ingrese el siguiente comando para verificar el estado del servicio MySQL:

Debería obtener una salida similar a la de la siguiente captura de pantalla:

System Crash 3

Para deshabilitar el servicio MySQL, ingrese el siguiente comando:

La salida indica que los enlaces simbólicos al servicio MySQL han sido eliminados de Systemd:

screenshot it 4

Puede probar si el servicio está habilitado con el sistema de inicio Systemd ingresando el siguiente comando:

La salida mostrará que está deshabilitado. Si reinicia su sistema, MySQL no se iniciará en el momento del arranque:

disabled screenshot

Habilite el servicio ingresando el siguiente comando:

La salida muestra el enlace simbólico al servicio MySQL creado en el inicio de Systemd:

screenshot 5

Cuando reinicie, el servicio MySQL se iniciará automáticamente.

Paso 4: Configurar MySQL para que se inicie automáticamente después de una caída

MySQL está configurado para reiniciarse automáticamente después de una caída. Veamos cómo se implementa esta configuración en Systemd. Systemd utiliza archivos de unidad para la configuración. Ingrese el siguiente comando para abrir el archivo de configuración mysql.service en nano:

La salida se ve así:

System Crash 2

Lo que nos interesa es la directiva Restart. Tal como está definida, MySQL se reiniciará si hay un fallo. La directiva Restart define lo que debería suceder en Systemd, al igual que la directiva Respawn en Upstart.

No todos los servicios tendrán esta directiva. Para habilitar que un servicio se reinicie después de una caída, siempre puede agregar la directiva Restart bajo el bloque [Service] del archivo de unidad de configuración del servicio. Si el encabezado [Service] no existe, agréguelo. Ahora, salga del editor presionando Ctrl + X.

Para emular una caída, busque el ID de proceso de MySQL ingresando el siguiente comando:

El comando de verificación de estado muestra un ID de proceso, en nuestro caso es 3555:

System Crash 1

Ingrese el siguiente comando para finalizar (kill) el proceso. Reemplácelo con el ID de proceso que obtuvo en su servidor:

Ingrese el siguiente comando para verificar el estado:

La salida muestra que MySQL se está ejecutando, pero con un nuevo ID de proceso. Esto significa que se reinició automáticamente después de la caída:

screenshot 8

Conclusión

En este tutorial, le hemos presentado los tres sistemas de inicialización en las distribuciones de Linux: System V, Upstart y Systemd. Hemos aprendido cómo usar cualquiera de los sistemas de inicio (init) para configurar sus servicios de ejecución continua para que se inicien automáticamente después de un reinicio o una caída del sistema. Esto debería servirle como punto de partida cuando necesite configurar sus servicios. La primera parte de esta serie fue principalmente un tutorial práctico. El la segunda parte es más teórica y presenta más detalles sobre lo que hemos estado haciendo en la primera parte. No elimine sus servidores de prueba todavía, ya que también los usará en la segunda parte.

¡Feliz informática!

 

author

Manpreet Singh

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.