Pular para o conteúdo

Executar script no boot da máquina

Responder tópico
  • Denunciar
  • Indicar

1. Executar script no boot da máquina

Enviado em 08/03/2012 - 16:58h



Preciso rodar um script no boot da máquina, só que preciso que ele seja o ultimo a ser executado, entao a máquina tem q terminar de subir por inteira e no final executar esse script.
Dei uma lida aqui no forum sobre o boot.local p colocar o script no Suse, vi algumas coisas tb sobre o rc.d, que pelo que vi é ali que é definida a fila dos serviços que sobem, estou certo?
Mas não consegui evoluir muito depois disso, ainda nao consegui entender direito como funciona isso.
Poderiam me ajudar por favor..
Abraços!!

Responder tópico

2. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 17:09h

coloca o script no rc.local

/etc/rc.local 



3. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 18:13h

Entao..
mas eu nao tenho esse diretorio, tenho o boot.local
e fiz o teste para colocar o script la, ele executa no boot normalmente, mas não é o ultimo a ser executado...
Preciso q o meu script seja o ultimo devido a dependencia de alguns outros servicos...
Obrigado.
Abs

4. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 18:39h

specian escreveu:

Entao..
mas eu nao tenho esse diretorio, tenho o boot.local
e fiz o teste para colocar o script la, ele executa no boot normalmente, mas não é o ultimo a ser executado...
Preciso q o meu script seja o ultimo devido a dependencia de alguns outros servicos...
Obrigado.
Abs


bom o /etc/rc.local
é um arquivo
tu edita ele e coloca o caminho completo do seu script
um exemplo

#cat /etc/rc.local

#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# bits.
# By default this script does nothing.
#Caminho onde esta o meu script para inicialização
/root/meuscript.sh
exit 0



salva e sai do arquivo
espero que ajude

5. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 20:37h

Voce já tentou colocar seu script no arquivo rc.local?? Em algumas distribuições este é ultimo arquivo executado na inicialização da maquina.

6. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 20:40h

Bem no Opensuse parece que o arquivo é o /etc/boot.local mesmo, agora sobre ser o ultimo isso geralmente acontece por padrão.

7. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 20:55h

Frequentemente, nas distribuições Linux, o init determina a órdem dos serviços no boot.
Cada distribuição adota determinada numeração para o runlevel.
No Slackware:

    0 halt system
1 modo single user
2 não usado (configurado para o runlevel 3)
3 modo multiusuário (runlevel padrão do Slackware)
4 modo gráfico, X11, com o KDM/GDM/XDM
5 não usado (configurado para o runlevel 3)
6 reboot


No diretório /etc/rcX.d os scripts de inicialização dos serviços são ordenados por runlevel (X) e por órdem de inicialização (numeração dos arquivos no diretório rcx.d.
No Slackware, o executável set-runlevel modifica a ordem e o runlevel dos serviços iniciados no boot, já nos derivados do Debian o update-rc.d.
Utilize o utilitário de sua distro para ajustar o seu script (servico) ao runlevel que lhe for conveniente, e altere o número do serviço no diretório rcx.d. Por exemplo, no meu Slackware o mysql é iniciado no runlevel 2,3,4 e 5. No diretório /etc/rc3.d é nomeado S02mysql, e o daemon de numeração maior S17stop-bootlogd. Assim o mysql é iniciado antes de stop-bootlogd. Se quiser que ele inicie após bastaria renomear para S18mysql.

8. sleep

Enviado em 08/03/2012 - 21:47h

Ou somente adicionar um sleep no inicio de seu script
sleep 30

Vai esperar 30 segundos antes de rodar o restante

9. Re: Executar script no boot da máquina

Enviado em 08/03/2012 - 22:51h

Como o StacK off explicou então eh só você verificar o runlevel da sua maquina

Execute ofeguenta comandopara saber qual o runlevel

# runlevel

Por exemplo se ele retornar o valor 3 vc fará o seguinte

# cd /etc/rc3.d

Faz de conta que seu script esta no seguinte diretório /etc/scripts/meuscript.sh

Aí faz um link simbólico dele exemplo

# ln -s /etc/scripts/meuscript.sh /etc/rc3.d/S99zultimo

Agora reinia e testa


[]s
Joca

10. Re: Executar script no boot da máquina

Enviado em 09/03/2012 - 16:19h

Muito obrigado pela ajuda de todos...
Era bem isso que eu precisava, só p variar salvaram minha pele mais uma vez rsrsr

Só p encerrar o assunto, uma duvida.
Tenho alguns links simbolicos dentro do rcx.d, e ali tem as numeraçoes indicando a ordem que os servicos vai subir..
La tenho alguns servicos como S1 e alguns outros como S2 e por ai vai..
Para comecar a subir os serviços que estao como S2 ele espera terminar de subir os S1 ou pode acontecer de os que estao como S1 ainda estarem subindo e comecar a subir o S2?
[ ]'s

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder