Como executar o script na inicialização no Debian Top 10

Como executar o script na inicialização no Debian Top 10
Este tutorial explica como executar scripts ou serviços na inicialização ou inicialização no Debian 11 e nas distribuições Linux baseadas.

Para adicionar serviços e scripts adequadamente no Start Up no Debian 11, você precisa criar unidades Systemd. Este tutorial concentra.

O que é uma unidade Systemd?

As unidades Systemd são arquivos de configuração que contêm informações para o gerenciamento ou execução adequada de determinados arquivos do sistema. As unidades Systemd podem ser usadas para gerenciar serviços, soquetes, dispositivos, pontos de montagem, pontos de automóveis, arquivos ou partições de troca, um alvo de inicialização, um caminho do sistema de arquivos assistido, temporizadores controlados e supervisionados pelo Systemd, uma fatia de gerenciamento de recursos ou um grupo de processos criados externamente.

As unidades Systemd estão localizadas sob o diretório /etc/Systemd/System. Qualquer script que você deseja executar na inicialização usando unidades Systemd deve ser especificado em um arquivo (unidade) neste diretório.
Uma visualização rápida usando o comando LS nos mostrará as unidades Systemd existentes em nosso sistema.

ls/etc/systemd/sistema

Um dos arquivos que não foram incluídos na captura de tela acima é Tomcat.serviço cujo conteúdo parece ser a seguinte imagem.

Observação: As informações a seguir são para você se familiarizar com os arquivos de configuração da unidade. Não se preocupe, a unidade que você criará para executar seu script será mais simples.

Onde as diretivas [da unidade]:

Descrição: Esta diretiva permite adicionar uma descrição para uma unidade, aqui você pode definir o nome da unidade para ser identificado.

Quer: Aqui, você pode especificar as dependências da unidade. Observe que existem diretivas diferentes para esse propósito semelhante. Por exemplo, a diretiva Requer é usado para especificar dependências estritas, sem as quais a unidade não pode funcionar. Ao contrário de exigir, os desejos são usados ​​para especificar dependências sem as quais a unidade pode continuar trabalhando.

Depois: A unidade atual começará após a unidade especificada nesta diretiva.

[Serviço] Diretivas da seção:

Tipo: No exemplo anterior, a forking indica que o serviço deve ser morto, mantendo os processos infantis que devem ser atribuídos a um PID.

Ambiente: Aqui, você pode especificar as variáveis ​​do ambiente da unidade.

Exectart: Esta diretiva permite que você especifique o caminho e os comandos que deseja executar.

Execstop: Você pode especificar o comando usado para parar a unidade.

SuccessExitStatus: Esta diretiva permite especificar status de saída e sinais.

Do utilizador: Você pode especificar o proprietário do usuário da unidade.

Grupo: Você pode especificar o proprietário do grupo da unidade.

Umask: Você pode especificar a máscara do usuário.

Reiniciar: Se a unidade reiniciar automaticamente, aqui você poderá especificar o tempo para esperar para tentar reiniciar o serviço.

Reiniciar: você pode definir para o Systemd quando a unidade deve ser reiniciada. As opções disponíveis são sempre, falhas, on-abort, no sucesso, no watchdog e on-abnormal.

A diretiva [install] no exemplo acima é desejada.

Procurado: Esta diretiva permite definir a unidade como dependência; é semelhante ao Quer diretiva, mas especificar se a unidade atual é considerada uma dependência por outra unidade.

Outras diretrizes comuns na seção [Unidade] que não foram incluídas na captura de tela anterior:

Requer: Nesta diretiva, você pode especificar dependências para evitar falhas de inicialização. Ao contrário do Quer Diretiva, se uma dependência especificada com a diretiva exigir não for atendida, a unidade não funcionará.

Na seção [Serviço]:

Pidfile: A diretiva de forking requer a diretiva PIDFIL.

StartlimitInterval: Indica que a unidade tem 60 segundos para 10 tentativas de reiniciar após a falha.

Startlimitburst: Esta diretiva indica o limite de tentativas, no exemplo anterior, 10 tentativas em 60 segundos.

Para informações adicionais sobre unidades Systemd que você pode ler:
https: // manpages.Debian.org/jessie/systemd/systemd.unidade.5.en.html.

Criando uma unidade Systemd para executar um script no Boot no Debian 11

Executar um script na inicialização pode ser mais simples e conter menos configuração do que o Tomcat.serviço arquivo anteriormente usado para mostrar o conteúdo comum da unidade.

Como dito anteriormente, os arquivos (unidades) contendo as informações sobre scripts em execução na inicialização estão localizados no diretório /etc/Systemd/System. Para definir um script para ser executado na inicialização, você precisa criar uma nova unidade para este script. Para criar uma unidade sob /etc/Systemd/System, você pode usar o nano como mostrado no exemplo abaixo, no qual eu crio uma unidade chamada roteiro.serviço, Você pode nomeá -lo, pois considera conveniente identificar seu script.

sudo nano/etc/systemd/system/script.serviço

O conteúdo da unidade para o seu script será mais simples que o Tomcat.serviço usado como exemplo anteriormente.

Copie e cole o seguinte código no arquivo que você criou /etc/Systemd/System.

Observação: Substituir com o seu nome de script e Com o caminho para o seu script.

[Unidade]
Descrição = seu nome de script aqui
Depois = padrão.alvo
[Serviço]
Execstart =/path/to/script.sh
[Instalar]
Wantedby = padrão.alvo

Depois de copiar o conteúdo no arquivo em /etc/Systemd/System/, Você precisa ativá -lo usando o comando SystemCTL, como mostrado abaixo. Substituir com o nome correto que você atribuiu à unidade.

Agora seu script está pronto para ser executado no Start Up no Debian 11.

Conclusão

Como você pode ver, executando scripts no Boot no Debian 11 usando o Systemd é bem simples. Qualquer nível de usuário do Linux pode realizar esta tarefa apenas criando um arquivo simples no diretório das unidades. Obviamente, o Linux oferece métodos adicionais para executar scripts na inicialização que não foram descritos neste tutorial como Cron. Qualquer usuário do Linux deve saber como localizar unidades Systemd para executar serviços ou scripts necessários na inicialização. Tanto as unidades Systemd quanto o CRON são métodos aceitos, enquanto RC.local ou init.d scripts são obsoletos.

Obrigado por ler este tutorial explicando como executar scripts na inicialização usando o Systemd no Debian 11. Continue nos seguindo para obter dicas e tutoriais adicionais de Linux.