Voltar ao blog

Como Configurar um Serviço Linux para Iniciar Automaticamente Após uma Reinicialização ou Falha do Sistema: Parte 1 (Exemplos Práticos)

Como Configurar um Serviço Linux para Iniciar Automaticamente Após uma Reinicialização ou Falha do Sistema: Parte 1 (Exemplos Práticos)

Introdução

Na computação, as coisas nem sempre saem como planejado. Muitas vezes, falhas inesperadas do sistema levam os administradores de sistema a iniciar reinicializações e reiniciar serviços individuais. Descobrir e reiniciar cada serviço que seu aplicativo precisa para funcionar após uma falha do sistema ou reinicialização pode ser tedioso. Nesta primeira parte do tutorial de duas partes, mostraremos como configurar serviços para iniciarem automaticamente após uma falha do sistema ou reinicialização do servidor com exemplos práticos. A segunda parte cobrirá informações teóricas sobre o que alcançamos na parte um.

Usaremos o MySQL serviço de banco de dados para exemplos práticos. No entanto, os mesmos princípios se aplicam a outros processos que compõem um servidor completo, como Nginx, Apache, Redis, ou outros aplicativos. Você pode conferir nossos tutoriais sobre como instalar o MySQL, Nginx, e Apache.

Em Linux distribuições, existem três principais sistemas de inicialização (init), dependendo da distribuição que você está executando. Algumas distribuições podem vir com dois ou mais sistemas init, conforme descrito abaixo:

  • System V – um sistema init mais antigo encontrado em distribuições mais antigas como:
    • Ubuntu 9.04 e anteriores
    • CentOS 5 e anteriores
    • Debian 6 e anteriores
  • Upstart – usado em distribuições anteriores, tais como:
    • CentOS 6
    • Ubuntu 9.10 a Ubuntu 14.10 e Ubuntu 14.04
  • Systemd – usado nas distribuições mais recentes, tais como:
    • CentOS 7
    • Debian 7 e 8.
    • Ubuntu 15.04 e mais recentes

Contexto

É comum que sistemas operacionais, e especialmente sistemas Linux e Unix tenham processos e serviços executando em segundo plano. Tais serviços podem ter sido fornecidos com o software do sistema operacional. Alguns podem ter vindo com os aplicativos de usuário que você instala.

Os serviços do Sistema Operacional incluem:

  • sshd – É o daemon que permite conexões remotas.
  • cupsd – É o daemon que controla a impressão.

Os serviços de aplicativos instalados incluem:

  • httpd/apache2 – Um serviço que vem com o servidor web Apache2.
  • nginx – Um serviço que vem com o servidor web Nginx.

Para garantir que nossos aplicativos web, bancos de dados, servidores de e-mail, etc. estejam acessíveis, tais serviços devem ser executados continuamente. Se você é um administrador de sistemas ou um desenvolvedor de aplicativos curioso, deseja garantir que esses serviços sejam executados continuamente e, no caso infeliz de uma falha do sistema, que eles iniciem automaticamente após a reinicialização do sistema. E é exatamente isso que aprenderemos neste tutorial prático.

Embora definir alertas e monitorar continuamente sua distribuição Linux seja crucial, alguns serviços Linux podem se autorrecuperar se bem configurados, graças aos sistemas init que gerenciam os serviços.

Nas distribuições Linux, existem modos de operação que implementam a inicialização do sistema chamados runlevels. Para que um serviço seja iniciado automaticamente, ele deve ser adicionado a um runlevel. Todo sistema do tipo Linux e Unix possui quatro runlevels comuns, conforme listado abaixo:

  • 0 – O Runlevel 0 indica o desligamento do sistema.
  • 1 – O Runlevel 1 indica o modo de usuário único, modo de recuperação.
  • 2, 3, 4 – Estes runlevels indicam estados em que o sistema foi inicializado em modo multiusuário, com rede habilitada, em modo texto.
  • 5 – O Runlevel 5 indica o modo multiusuário com rede habilitada, modo gráfico.
  • 6 – O Runlevel 6 indica a reinicialização do sistema.

Neste tutorial, você aprenderá como configurar um serviço Linux para iniciar automaticamente quando o sistema reiniciar usando os três modos init diferentes explicados anteriormente: System V, Upstart e Systemd.

Pré-requisitos

Este tutorial prático pressupõe que você tenha um VPS Linux que possa usar para acompanhar. Você pode aproveitar o período de teste gratuito na Cloudsigma e iniciar alguns servidores para testar os comandos. Você pode acompanhar com o nosso tutorial passo a passo sobre como configurar seus servidores Ubuntu.

Os servidores que você criar neste tutorial servem puramente para acompanhar as práticas reais e você não deve testar os comandos em um servidor de produção, pois muitos serviços serão interrompidos.

Algumas das distribuições de que você precisará:

  • Ubuntu 9.04 e anteriores, ou Debian 6 x64 (será usado para demonstrar o sistema init System V)
  • Ubuntu 14.04 x64 (será usado para demonstrar o Upstart)
  • CentOS 7 x64 (será usado para demonstrar o systemd).

Certifique-se de ter configurado um usuário não-root com privilégios sudo.  Você pode dar uma olhada no nosso tutorial sobre como configurar o arquivo sudoers aqui.

Usando o System V

Este é o sistema init mais antigo que era usado em distribuições Linux anteriores, tais como:

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

A maioria das aplicações de servidor instaláveis, como MySQL e Nginx, vem com scripts init salvos no diretório /etc/init.d por padrão. Esses scripts permitem que elas iniciem após uma reinicialização. No entanto, elas podem não estar configuradas para iniciar automaticamente após uma falha do sistema.

Lista de verificação de inicialização automática para o System V

O primeiro passo é verificar a disponibilidade de um script init Bash funcional no diretório /etc/init.d/service. Para habilitar o serviço, nas distribuições Debian ou Ubuntu, use o comando update-rc.d, em um sistema CentOS, use chkconfig. Substitua pelo nome real do seu serviço:

O comando acima cria um link simbólico no diretório /etc/rc2.d que se parece com a saída abaixo. Não o crie você mesmo, pois ele é gerado automaticamente:

No final do arquivo /etc/inittab adicione uma linha respawn como mostrado no exemplo genérico abaixo. Lembre-se de substituí-la pelo caminho real para o script de inicialização da sua aplicação:

Insira os seguintes comandos para parar e iniciar o serviço:

Em seguida, reinicie o servidor:

Como testar as alterações?

Após reiniciar o servidor, verifique se o serviço está ativo procurando pelo número do processo usando o comando:

Encerre o processo usando o comando:

Após cinco minutos, verifique se o serviço está ativo e em execução.

Configuração prática do System V com um serviço real

Nas etapas a seguir, testaremos uma aplicação de servidor real, como o MySQL. Você deve ter acesso a uma máquina virtual Debian 6. Com uma conta que tenha privilégios sudo, conecte-se a ela usando SSH ou putty se estiver em um desktop Windows.

Step 1: Install MySQL

Insira o seguinte comando para instalar o MySQL:

Quando a instalação começar, você será solicitado a inserir uma senha root. Em seguida, insira uma senha de sua escolha e confirme-a. Aguarde a conclusão da instalação e insira o seguinte comando para começar a proteger o MySQL:

Você será solicitado a inserir a senha root que definiu anteriormente. Pressione N para mantê-la. Em seguida, pressione Y para aceitar as solicitações seguintes para remover usuários anônimos, desabilitar o login remoto do root e remover o banco de dados de teste. Por fim, aceite recarregar a tabela de privilégios para que as alterações sejam refletidas automaticamente.

Isso conclui a instalação do MySQL. Você pode verificar se o serviço está em execução inserindo o seguinte comando:

Step 2: Configure MySQL to Auto-start after Reboot

O MySQL é configurado por padrão para iniciar após uma reinicialização do sistema. Você pode encontrar o link simbólico para o script de inicialização do MySQL no diretório /etc/rc2.d. Esses links simbólicos não são criados manualmente. Você pode usar o comando update-rc.d para habilitar e desabilitar serviços.

Insira o seguinte comando para listar o conteúdo do diretório:

Verifique se você consegue notar o link simbólico para o script init do MySQL:

O S é importante, porque desde que você consiga ver um S script no diretório de runlevel padrão para o serviço, o sistema init iniciará o serviço quando o servidor for inicializado. Para verificar se o MySQL iniciará automaticamente após a reinicialização, insira o seguinte comando para reiniciar o sistema:

A sua conexão ssh será encerrada durante a reinicialização. Aguarde um ou dois minutos e conecte-se novamente. Execute o seguinte comando para verificar se o serviço está em execução:

A saída indicará que o serviço está em execução. Isso significa que ele iniciou automaticamente após a reinicialização. Para serviços que não estão configurados para iniciar automaticamente, você terá que configurá-los manualmente.

Podemos desativar o serviço MySQL e reiniciar o sistema para testar se ele inicia automaticamente. Em sistemas Debian e Ubuntu, você pode usar o comando update-rc.d para adicionar ou remover serviços do sistema init. Insira o seguinte comando para desativar o serviço MySQL:

Reinicie o sistema e conecte-se novamente usando ssh. Tente conectar-se ao MySQL usando o seguinte comando:

Você receberá um erro do MySQL como:

Em seguida, insira o seguinte comando para reativar o serviço:

Se você estiver em uma distribuição CentOS, o comando será:

Como o MySQL não estava iniciando inicialmente, você precisa iniciá-lo. Insira o seguinte comando:

Passo 3: Configurar um Serviço (MySQL) para Iniciar Automaticamente após uma Falha do Sistema

O System V não iniciará um processo automaticamente após uma falha. Podemos simular uma falha do sistema encontrando o ID do processo do MySQL e encerrando-o. Insira o seguinte comando para encontrar o ID do processo do MySQL:

A partir da saída, encontre os processos do MySQL. Os principais processos que executam o MySQL são mysqld_safe e mysqld. Anote seus IDs de processo (estes são números) e use os seguintes comandos para encerrá-los:

Verifique o status do serviço MySQL usando o comando:

A saída indicará que o MySQL parou. Podemos reiniciá-lo manualmente usando o comando service start. No entanto, queremos um processo automático. Para alcançar esse comportamento automático, precisamos editar o arquivo /etc/inittab. Este é o primeiro arquivo que o System V init lê ao inicializar. O arquivo /etc/inittab contém instruções sobre como um processo deve se comportar se falhar. Se configurado corretamente, ele reinicia o sistema novamente quando houver uma falha. No nosso caso, queremos garantir que o MySQL seja um desses serviços.

O arquivo /etc/inittab é extremamente crucial para uma distribuição Linux. Ele determina se o seu sistema irá reiniciar ou não. Se você cometer um erro nos comandos, o sistema pode não iniciar quando você reiniciar. Como indicamos, esperamos que você esteja apenas testando esses comandos em um ambiente de servidor de teste e não em um ambiente de produção.

Primeiro, faça uma cópia do arquivo antes de começar a editar:

Em seguida, abra o arquivo usando o nano:

Role até o final do arquivo e adicione o seguinte trecho de código:

O comando acima reinicia o processo mysql_safe após uma falha do sistema. Ele possui quatro campos separados por dois-pontos, conforme explicado abaixo:

  • ms: Especifica um ID para o processo.
  • 2345: Especifica os runlevels aos quais o comando se aplica. Neste caso: runlevels 2, 3, 4, 5.
  • respawn: Especifica a ação. Neste caso, estamos recriando (respawning) ou reiniciando o processo.
  • /bin/sh /usr/bin/mysqld_safe: A última parte define o processo – o comando que é executado para reiniciar o processo.

Agora pressione Ctrl + O and Enter para salvar o arquivo. Em seguida, pressione Ctrl + X para fechar o editor. Insira o seguinte comando para iniciar o serviço:

Reinicie o servidor e execute os comandos explicados anteriormente para encontrar o número do processo. Em seguida, encerre os processos, começando com o comando ps -ef | grep mysql. Aguarde alguns minutos e insira o seguinte comando para verificar o status do MySQL:

A saída deve indicar que o serviço MySQL está ativo e em execução, o que significa que ele foi capaz de reiniciar após uma falha. Você pode seguir o mesmo processo para outros serviços no seu servidor.

Iniciando serviços automaticamente com o Upstart

Upstart é outro sistema de inicialização que foi introduzido inicialmente no Ubuntu 6 e posteriormente tornou-se o padrão no Ubuntu 9.10. O RHEL 6 e seus derivados, e o Chrome OS do Google também usam o sistema de inicialização Upstart. Para as etapas desta seção, você deve ter um servidor executando qualquer uma das seguintes distribuições:

  • Ubuntu 9.10 a Ubuntu 14.10, e a versão LTS do Ubuntu, ou seja, Ubuntu 14.04.
  • CentOS 6

Vejamos como você pode configurar os arquivos do Upstart para iniciar automaticamente os serviços do seu servidor em caso de reinicializações ou falhas do sistema. O Upstart usa arquivos de configuração armazenados no diretório /etc/init para controlar serviços em uma distribuição Linux. As versões mais recentes de aplicativos de servidor, como MySQL e Nginx, instalam seus próprios scripts de inicialização no diretório /etc/init. Assim, eles serão iniciados após a reinicialização e após uma falha do sistema sem que você precise fazer nada.

Lista de verificação de inicialização automática para o Upstart

Aqui estão algumas configurações de referência para verificar e garantir que seu serviço esteja configurado para iniciar automaticamente.

  • Certifique-se de que o serviço tenha um script de inicialização no diretório /etc/init/service_name.conf service_name sendo o nome real do seu serviço específico. Você deve verificar as duas linhas seguintes no arquivo /etc/init/service_name.conf arquivo:
    • Uma linha contendo algo como start on runlevel [2345]. Ela indica que o serviço será iniciado na reinicialização do sistema.
    • Uma linha contendo algo como respawn. Ela indica que o serviço será recriado/reiniciado após uma falha do sistema.
  • Certifique-se de que não haja nenhum arquivo de substituição de serviço (override) no diretório: /etc/init/service_name.override. A menos que você ou outro administrador do sistema o tenha criado anteriormente.
  • Insira os seguintes comandos para parar e iniciar o serviço:
  • Reinicie o sistema e conecte-se novamente após alguns minutos. Agora, execute alguns testes para ver se as coisas estão funcionando
  • Após a reinicialização, verifique se o serviço está ativo e em execução. Insira o seguinte comando para procurar o número do processo, substituindo service_name pelo nome real do serviço que você está testando:
  • Assim que tiver o número do processo, insira o seguinte comando para encerrar o processo:
  • Aguarde alguns segundos e verifique novamente se o processo está ativo e em execução.

Configuração prática do Upstart com um serviço real

Na próxima seção, tentaremos demonstrar como você pode usar o Upstart com um serviço real. Executaremos os testes em um servidor de máquina virtual Ubuntu 14.04 com o MySQL como serviço. Conecte-se ao seu servidor de teste Ubuntu 14.04 usando ssh ou putty se estiver no Windows. Como regra geral, você deve usar um usuário não-root com privilégios sudo. Assim que estiver logado, podemos começar as etapas:

Etapa 1: Instalar o MySQL

Lembre-se sempre de atualizar seus pacotes antes de instalar qualquer software novo:

Agora, insira o seguinte comando para instalar o servidor MySQL:

Crie uma senha root quando solicitado. Aguarde a conclusão da instalação e execute o seguinte comando para começar a proteger sua instalação do MySQL:

Siga as instruções, como fez na seção anterior. Em seguida, limpe os privilégios (flush privileges) para que as alterações tenham efeito imediato.

Passo 2: Configurando um Serviço (MySQL) para Iniciar Automaticamente após a Reinicialização do Sistema

O MySQL está configurado para iniciar automaticamente após uma reinicialização. Estamos apenas analisando seus arquivos de configuração para aprender como podemos configurar nossos aplicativos personalizados para também iniciarem automaticamente após uma reinicialização. O serviço MySQL foi iniciado automaticamente após a instalação. No entanto, vamos confirmar se ele está em execução digitando o seguinte comando:

Você deve ver uma saída indicando que o serviço MySQL está em execução, algo como:

Reinicie o servidor e faça login novamente. Digite novamente o seguinte comando para testar se ele está em execução:

A saída indicará que o MySQL está em execução, o que significa que ele foi iniciado automaticamente após a reinicialização. Neste caso, nada precisa ser alterado. No entanto, esse comportamento pode não ser o mesmo para outros aplicativos. Você deve estar se perguntando como o sistema de inicialização Upstart sabe que deve iniciar automaticamente o MySQL após a reinicialização. O MySQL instala seu arquivo de configuração de inicialização do Upstart no local /etc/init/mysql.conf. Os arquivos do Upstart não são scripts de shell, mas arquivos de texto com blocos de script para eventos pré-inicialização (pre-start) e pós-inicialização (post-start). Os blocos instruem o sistema Upstart sobre o que executar quando o processo MySQLd estiver iniciando ou quando já tiver iniciado.

Digite o seguinte comando para abrir o arquivo no editor nano:

A saída do arquivo deve ser semelhante a esta:

Como visto, o bloco start instrui o MySQL a iniciar nos runlevels 2, 3, 4, 5, e não em 0, 1, 6. Se você estiver definindo uma configuração do Upstart para o seu aplicativo, você a definirá nesta seção. O bloco respawn instrui o Upstart sobre o que fazer após uma falha. Discutiremos isso na próxima seção, portanto, mantenha o arquivo aberto no editor nano.

Passo 3: Configurando um Serviço (MySQL) para Iniciar Automaticamente Após uma Falha

A diretiva respawn no arquivo /etc/init/mysql.conf instrui o Upstart a reiniciar o serviço MySQL após uma falha.

A diretiva respawn limit instrui o Upstart sobre quantas vezes ele deve tentar reiniciar o serviço MySQL que falhou em um intervalo especificado em segundos. O primeiro argumento, (2), indica o número de tentativas. O segundo argumento, (5), indica o intervalo em segundos. Se, após uma falha, o Upstart não conseguir reiniciar (respawn) o serviço MySQL dentro do limite, ele permanecerá parado. Esse comportamento foi projetado para proteger o sistema, evitando afetar sua estabilidade caso ele continue tentando reiniciar serviços que falham continuamente. Agora você pode fechar o editor sem fazer nenhuma alteração.

Vamos testar se o MySQL voltará a funcionar automaticamente após uma falha. Digite o seguinte comando para verificar o status e obter o número do processo do serviço MySQL:

A saída deve ser algo como isto. Anote o número do processo, pois o usaremos mais tarde:

Em seguida, digite o seguinte comando para encerrar (kill) o processo. Isso simula uma falha. Substitua pelo número do processo que você obteve no comando anterior:

Verifique novamente o status do MySQL digitando o seguinte comando:

Ele deve estar em execução novamente, mas provavelmente com um número de processo diferente:

Isso acontece por causa da diretiva respawn no /etc/init/mysql.conf arquivo. Ele garante que, em caso de qualquer falha no sistema, o MySQL iniciará automaticamente. Portanto, sua aplicação que depende de um banco de dados MySQL continuará funcionando conforme o esperado.

Iniciando serviços automaticamente com o Systemd

Systemd é um sistema de inicialização encontrado na maioria das distribuições Linux recentes. É provável que seja o que você usará quando você criar um novo VPS. Ele foi introduzido pela primeira vez no Fedora. Ele vem com o RHEL 7 e seus derivados, como o CentOS 7. A partir do Ubuntu 15.04, você encontrará o Systemd nativamente. O Systemd é compatível com versões anteriores dos scripts e comandos de inicialização do System V. Portanto, qualquer serviço do System V deve funcionar no Systemd. A maioria dos comandos usados no System V e Upstart foi modificada para funcionar com o Systemd.

Com o Systemd, a maioria dos aplicativos de servidor, como o MySQL e o Nginx, iniciará automaticamente após uma reinicialização ou desligamento, sem que você precise alterar nada. Para seus aplicativos personalizados, você deve criar seus próprios scripts de inicialização para reiniciar os serviços automaticamente.

Para obter informações mais detalhadas sobre o Systemd, confira nosso tutorial sobre como gerenciar serviços e unidades do Systemd com o Systemctl.

Lista de verificação de inicialização automática para o Systemd

Aqui estão algumas configurações de referência para verificar e garantir que seu serviço esteja configurado para iniciar automaticamente com o Systemd.

  • O serviço deve ter um script de inicialização do Systemd funcional localizado em /etc/systemd/system/multi-user.target.wants/serviceName.service. ServiceName é o nome real do serviço que você está configurando.
  • O comando para habilitar o serviço é:
  • O comando cria um link simbólico no diretório /etc/systemd/system/multi-user.target.wants/ que pode parecer semelhante a:
  • Com esse link simbólico configurado, você terá habilitado a reinicialização automática após a inicialização.
  • Para ativar as alterações, recarregue o daemon do sistema e, em seguida, reinicie o serviço usando os seguintes comandos:
  • Para testar se suas configurações iniciarão o serviço após uma reinicialização, você pode reiniciar o sistema:
  • Quando o sistema reiniciar, procure pelo número do processo usando o comando:
  • Anote o número do processo e encerre-o usando o comando:
  • Aguarde alguns segundos e procure pelo serviço novamente para verificar se ele está ativo novamente.

Configuração prática do Systemd com um serviço real

Nesta seção, tentaremos configurar o serviço MySQL em uma máquina virtual Ubuntu 20.04.

Passo 1: Conecte-se ao seu Servidor Virtual Privado (Ubuntu 20.04 ou CentOS 7 x64)

Faça login no seu VPS ou crie um a partir do painel da Cloudsigma e conecte-se usando SSH ou Putty se estiver no Windows. Estamos usando o servidor Ubuntu 20.04 para esta seção do tutorial. Os mesmos comandos podem ser aplicados ao CentOS 7. Certifique-se de usar um usuário não-root com privilégios sudo.

Passo 2: Instalar o MySQL (o serviço que estamos configurando)

Primeiro, atualize seu sistema:

Em seguida, você pode instalar o servidor MySQL usando o comando:

Em seguida, execute o seguinte comando para começar a proteger o MySQL:

O script pergunta se você deseja configurar o componente VALIDATE PASSWORD ou pressionar qualquer letra para prosseguir sem ativar o componente. Siga este link para saber mais sobre o componente de validação de senha do MySQL.

Pressione 1 para ativá-lo e, em seguida, escolha o nível médio pressionando 1. Insira uma senha forte: uma combinação de maiúsculas, minúsculas, caracteres especiais e números. Confirme a senha e confirme a solicitação que pergunta se você gostaria de usar a senha inserida como a senha root. Para as demais solicitações, pressione y para aceitá-las como fez nas seções anteriores. Por fim, limpe os privilégios do MySQL para recarregar as alterações.

Passo 3: Configurar o MySQL para Iniciar Automaticamente Após a Reinicialização

O MySQL está configurado para iniciar após uma reinicialização, portanto não há alterações a serem feitas. No entanto, podemos usar os arquivos de configuração do MySQL para aprender como configurar nossos arquivos personalizados.

Primeiro, verifique se o serviço do MySQL foi configurado para iniciar no momento da inicialização. Insira o seguinte comando (observe que no CentOS o serviço do MySQL é chamado de mysqld):

Aqui está a saída:

CS screenshot

Em seguida, reinicie o VPS inserindo o seguinte comando:

Conecte-se novamente usando ssh e insira o seguinte comando para verificar o status do serviço MySQL:

Você deve obter uma saída semelhante à mostrada na captura de tela abaixo:

System Crash 3

Para desativar o serviço MySQL, insira o seguinte comando:

Aqui a saída indica que os links simbólicos para o serviço MySQL foram removidos do Systemd:

screenshot it 4

Você pode testar se o serviço está ativado com o sistema de inicialização Systemd inserindo o seguinte comando:

A saída mostrará que ele está desativado. Se você reiniciar o sistema, o MySQL não iniciará no momento da inicialização:

disabled screenshot

Ative o serviço inserindo o seguinte comando:

A saída mostra o link simbólico para o serviço MySQL criado no init do Systemd:

screenshot 5

Quando você reiniciar, o serviço MySQL iniciará automaticamente.

Passo 4: Configurar o MySQL para Iniciar Automaticamente Após uma Falha

O MySQL está configurado para reiniciar automaticamente após uma falha. Vamos ver como essa configuração é implementada no Systemd. O Systemd usa arquivos de unidade para configuração. Insira o seguinte comando para abrir o arquivo de configuração mysql.service no nano:

A saída se parece com isso:

System Crash 2

Nossa preocupação é com a diretiva Restart. Conforme definido, o MySQL será reiniciado se houver uma falha. A diretiva Restart define o que deve acontecer no Systemd, assim como a diretiva Respawn no Upstart.

Nem todos os serviços terão essa diretiva. Para permitir que um serviço seja reiniciado após uma falha, você sempre pode adicionar a diretiva Restart sob o bloco [Service] do arquivo de unidade de configuração do serviço. Se o cabeçalho [Service] não existir, adicione-o. Agora, saia do editor pressionando Ctrl + X.

Para emular uma falha, encontre o ID do processo do MySQL inserindo o seguinte comando:

O comando de verificação de status exibe um ID de processo, no nosso caso é 3555:

System Crash 1

Insira o seguinte comando para encerrar o processo. Substitua-o pelo ID do processo que você obteve no seu servidor:

Insira o seguinte comando para verificar o status:

A saída mostra que o MySQL está em execução, mas com um novo ID de processo. Isso significa que ele foi reiniciado automaticamente após a falha:

screenshot 8

Conclusão

Neste tutorial, apresentamos a você os três sistemas de inicialização em distribuições Linux: System V, Upstart e Systemd. Aprendemos como usar qualquer um dos sistemas init para configurar seus serviços de execução contínua para iniciarem automaticamente após uma reinicialização ou falha do sistema. Isso deve servir como um ponto de partida para quando você precisar configurar seus serviços. A parte um desta série foi principalmente um tutorial prático. O a segunda parte é mais teórica e apresenta mais detalhes sobre o que estivemos fazendo na parte um. Não exclua seus servidores de teste ainda, pois você também os usará na parte dois.

Feliz computação!

 

author

Manpreet Singh

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.