Como fazer um arquivo .sh iniciar com o sistema

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.

1 curtida

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:

2 curtidas

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

2 curtidas

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:

  1. Acesse o crontab do sistema:
    Abra o terminal e edite o crontab do sistema com o seguinte comando:

    sudo crontab -e
    
  2. Adicione uma entrada para executar o script no boot:
    No arquivo crontab, 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.
  3. Salve e saia do editor:

    • Se você estiver usando o editor nano, salve com Ctrl + O e depois saia com Ctrl + X.
    • Para outros editores como vi ou vim, use :wq para salvar e sair.
  4. Certifique-se de que o script tem permissão de execução:
    Verifique se o script scripts.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, como sleep 10, dentro do script para garantir que tudo esteja funcionando antes da execução.
1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.