Olá, uso o ubuntu, e preciso fazer um arquivo.sh que criei com comandos que devem ser aplicados toda vez que o ubuntu inicia, observe que sei fazer isso usando o aplicativo de inicialização do ubuntu mas essa aplicação só faz os comandos serem iniciados para cada usuário e no meu caso, eu preciso que esse arquivo.sh seja carregado mesmo se não houver ninguem logado, ou seja, para todo o sistema com privilégio root.
No caso independentemente se você tem login ou não ele vai executar o script certo? é isso que voce quer?
Podes tentar criar um script para iniciar o sistema juntamente com o systemd, envio um exemplo simples, caso te interesse:
Outra opção é usar o CRON, o agendador de tarefas. Vale a pena dar uma pesquisada em como ativá-lo (se já não estiver ativo) e como criar uma tarefa na inicialização: @reboot
Para iniciar um script.sh
para todos os usuários no Linux durante a inicialização do sistema, você pode usar o cron
através do arquivo de configuração chamado crontab
. O processo consiste em adicionar o script ao crontab do sistema que será executado na inicialização. Aqui estão os passos:
-
Acesse o crontab do sistema:
Abra o terminal e edite o crontab do sistema com o seguinte comando:sudo crontab -e
-
Adicione uma entrada para executar o script no boot:
No arquivocrontab
, adicione a seguinte linha ao final:@reboot /caminho/para/o/seu/script.sh
- O
@reboot
faz com que o script seja executado automaticamente quando o sistema é inicializado. - Substitua
/caminho/para/o/seu/script.sh
pelo caminho completo do seu script.
- O
-
Salve e saia do editor:
- Se você estiver usando o editor
nano
, salve comCtrl + O
e depois saia comCtrl + X
. - Para outros editores como
vi
ouvim
, use:wq
para salvar e sair.
- Se você estiver usando o editor
-
Certifique-se de que o script tem permissão de execução:
Verifique se o scriptscripts.sh
tem permissão de execução:sudo chmod +x /caminho/para/o/seu/script.sh
Considerações:
- O
cron
no modo@reboot
pode não esperar que todos os serviços estejam completamente disponíveis. Se seu script depende de serviços específicos, pode ser útil adicionar um delay, comosleep 10
, dentro do script para garantir que tudo esteja funcionando antes da execução.
Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.