Como posso criar um script de inicialização (linux) para carregar todos os meus programas (dameons) na inicialização?

2

Por exemplo, eu preciso que o seguinte script seja executado na inicialização

service httpd start
service mysqld start
service sshd start
service pure-ftpd start
/usr/local/bin/noip2 start

Eu não quero fazer um alias na pasta init.d para cada programa. Em vez disso, posso criar um arquivo de texto para que todos eles sejam chamados. Isso seria muito mais fácil. Obrigada!

    
por alecwhardy 09.07.2011 / 06:21

5 respostas

4

Você não precisa de um script para iniciar os serviços. Em distribuições baseadas em RedHat (que é o que parece que você está usando), executando isto:

chkconfig servicename on

Criará automaticamente os links simbólicos para a inicialização dos níveis de execução apropriados (nesse caso, de 3 a 5.) Nas distribuições baseadas no Debian, você faria

update-rc.d servicename defaults

Para fazer a mesma coisa. Na verdade, você também pode reorganizar suas prioridades com essa ferramenta:

update-rc.d servicename defaults 91

Com o upstart (que é o que a versão atual do Ubuntu está usando e para o que a Red Hat está se movendo), você pode até mesmo adicionar dependências para que um processo seja iniciado somente após o término de um serviço específico. Mais informações aqui:

http://upstart.ubuntu.com/

Em qualquer evento, se você não quiser usar nenhum desses mecanismos, você sempre poderá usar o /etc/rc.local para iniciar seus scripts. A menos que exista uma boa razão, trabalhe com as ferramentas que já são fornecidas pela sua distro - muito provavelmente melhor do que o que você pode imaginar.

    
por 09.07.2011 / 16:24
3

Crie um script com seus comandos e adicione uma tarefa cron com o @reboot da seguinte forma:

crontab -e

@reboot / caminho / para / script

    
por 09.07.2011 / 06:25
1

Você pode adicionar essas linhas a /etc/rc.local . Note que é executado como 'root'.

    
por 09.07.2011 / 06:24
0

Você pode simplesmente colocar um único script com cada um desses comandos na pasta init.d. Eu fiz semelhante e funcionou de forma esmagadora.

Sinalizado para passar para falha do servidor.

    
por 09.07.2011 / 06:23
0

Faça um script contendo esses comandos e coloque-o no diretório /etc/init.d/.

Digamos que você tenha chamado o FOO. Você então corre

% update-rc.d FOO defaults

Você também tem que fazer o arquivo que você criou, FOO, executável, usando

$chmod +x FOO

link

link

    
por 09.07.2011 / 06:25