Leia aqui
Configs Linux

Como executar um script na inicialização do Ubuntu Linux?

Publicado dia 11/07/2016 às 13h41min | Atualizado dia 30/07/2025 às 15h42min
Ativando serviços automáticos no linux

Linux

Como executar um script na inicialização do Ubuntu Linux?

Os passos abaixo mostra como configurar um serviço no systemd para executar um script ao iniciar o Linux, quando uma conexão de rede já estiver disponível.

  • Crie um diretório para testes:

sudo mkdir /diretorio

  • Agora crie um arquivo de script com nome meu-script.sh, ou outro nome de sua escolha, no diretório criado no passo anterior.

sudo nano /diretorio/meu-script.sh

  • Adicione a esse arquivo os comandos para serem executados. Neste exemplo vamos apenas gravar a data e hora do sistema e uma mensagem em um arquivo no diretório de testes.
  • arquivo="/diretorio/teste.txt"
  • dataHora=$(date "+%d/%m/%Y %H:%M:%S")
  • texto="$dataHora - Script executado!"
  • echo $texto >> $arquivo
  • Salve o arquivo (CTRL+O).
  • Feche o editor de texto (CTRL+X).
  • Altere as permissões do script para torná-lo executável:

sudo chmod +x /diretorio/meu-script.sh

  • Execute o script para testar:

sudo /diretorio/meu-script.sh

  • Confira o conteúdo do arquivo criado:

cat /diretorio/teste.txt

  • Crie um arquivo de unidade do systemd para configurar o meu-script.sh como um serviço:

sudo nano /lib/systemd/system/meu-script.service

  • Adicione o conteúdo abaixo nesse arquivo de unidade do systemd:
  • [Unit]
  • Description=Meu script para testes
  • Wants=network-online.target
  • After=network.target
  •  
  • [Service]
  • ExecStart=/bin/bash /diretorio/meu-script.sh
  •  
  • [Install]
  • WantedBy=multi-user.target
  • Salve o arquivo (CTRL+O).
  • Feche o editor de texto (CTRL+X).
  • Execute o comando abaixo agora e sempre que modificar o arquivo de unidade do systemd:

sudo systemctl daemon-reload

  • Teste o serviço recém configurado:

sudo systemctl start meu-script

  • Cada vez que iniciar o serviço, uma nova linha será adicionada ao arquivo teste.txt. Use este comando para conferir:

sudo cat /diretorio/teste.txt

  • Habilite o novo serviço para iniciar junto com o sistema:

sudo systemctl enable meu-script

  • Reinicie o sistema algumas vezes para testar:

sudo shutdown -r now

  • E confira o resultado novamente:

sudo cat /diretorio/teste.txt

Observações:

  • A configuração After=network.target informa ao systemd para executar o serviço após iniciar o serviço de rede.
  •  
  • A configuração Wants=network-online.target informa ao systemd que nosso serviço necessita do serviço de rede online, ou seja, requer conexão de rede disponível.
  •  
  • A configuração WantedBy=multi-user.target informa ao systemd que nosso serviço é requerido para o nível de execução multi-user.target.
  • Testado no Ubuntu Linux 20.04 LTS, mas deve funcionar em outras distribuições e versões que usem o systemd.

 

[Unit]

Description=Montando unidade

After=network.target

 

[Service]

ExecStart=/bin/bash /inicio/inicia.sh

 

[Install]

WantedBy=multi-user.target

 

MEU COMANDO do arquivo SH

mount -t ext4 /dev/sda1 /home/hd;

systemctl daemon-reload

Fonte: Code Linux

Mais Populares

Últimos Artigos

Remover partição do Proxmox e aumentar o drive local

10 de julho de 2025 às 09:25:46

Shell Script – Adicionando novos domínios ao Bind

26 de dezembro de 2024 às 20:11:18

Postfix, como eliminar mensagens da fila

12 de abril de 2018 às 10:44:18

Tags Populares



Fale Conosco

Av. Egidio Francisco Rodrigues, 181 Pires do Rio/GO
(64) 9967-15836 | (64) 3461-1811 | (64) 9967-15836
[email protected]

Mais Populares

ÚLTIMAS Notícias

Tags Populares



Fale Conosco

Av. Egidio Francisco Rodrigues, 181 Pires do Rio/GO
(64) 9967-15836 | (64) 3461-1811 | (64) 9967-15836
[email protected]
Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ Saiba Mais ]