segunda-feira, 6 de outubro de 2008

Como auto iniciar (iniciar automaticamente) um script no linux durante o boot

As vezes precisamos iniciar um script ou um programa automaticamente no boot do nosso sistema. Existem muitas maneiras de fazer isso, umas mais gambiarradas outras menos. A que mais utilizo e julgo ser correta para os diversos scripts e serviços que crio é adicionar os comandos, programas ou scripts no arquivo /etc/rc.local (semelhante ao autoexec.bat do windows).

[Exemplo1]

Quero que toda vez que meu linux der boot, exiba a mensagem "==== Mensagem do rc.local!!!===="

- edite o arquivo /etc/rc.local e coloque a seguinte linha
echo "==== Mensagem do rc.local!!!===="
- salve o arquivo
- da próxima vez que iniciar o sistema, verá a alteração


[Exemplo2]

Quero que a placa eth0 venha com o mac 00:01:02:03:04:05
- edite o arquivo /etc/rc.local e coloque as seguintes linhas
ifconfig eth0 down
ifconfig eth0 hw ether 00:01:02:03:04:05
ifconfig eth0 up


[Exemplo3]

Tive problemas com maquinas virtuais que sempre iniciavam com a hora errada, uma saída que encontrei foi utilizar o comando ntpdate para sincrozar a hora com algum servidor. Então, inseri a seguinte linha no /etc/rc.local
ntpdate -u pool.ntp.org

Nota: pool.ntp.org é um servidor para sincronização de relógio


[Considerações finais]

O arquivo /etc/rc.local é sempre o último a ser executado depois do boot. Se quiser inserir comandos com precedência, deverá utilizar as pastas /etc/rc*.d, mas não entrarei em detalhes por agora.

Nenhum comentário: