Executar script no boot da máquina

1. Executar script no boot da máquina

Perfil removido
removido

(usa Nenhuma)

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!!


  


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

Daniel Lara Souza
danniel-lara

(usa Fedora)

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

Perfil removido
removido

(usa Nenhuma)

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

Daniel Lara Souza
danniel-lara

(usa Fedora)

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

Ednilson da Silva Teixeira
Ednilson_Tx

(usa Slackware)

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

Johnny Navarro
Johnny_Navarro

(usa Slackware)

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

Joao
stack_of

(usa Slackware)

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

André Canhadas
andrecanhadas

(usa Debian)

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

Joca (Altemir Braz Dantas Junior)
jocajuni

(usa Debian)

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

Perfil removido
removido

(usa Nenhuma)

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







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts