Como inicio determinados serviços somente quando necessário?

1

Eu tenho um laptop. Eu uso muito para web + email, e depois alguns dias para desenvolvimento web. Usando este último, eu preciso do servidor apache2 e mysql rodando, mas normalmente não.

Eu gostaria que uma inicialização normal NÃO iniciasse o apache e o mysql, para economizar energia, reduzir os tempos de inicialização etc., mas para poder iniciar esses serviços quando necessário.

Nos velhos tempos, eu poderia ter usado runlevels para isso, mas isso é um skool pouco velho agora, como eu entendo. Qual é a melhor maneira de conseguir isso no Precise?

    
por artfulrobot 18.07.2012 / 20:24

3 respostas

2

Uma maneira de fazer isso com bons e velhos níveis:

O MySQL agora usa um script upstart, mas dentro dele ainda está falando sobre runlevels. Edite /etc/init/mysql.conf e altere as linhas como neste diff:

-start on runlevel [2345]
-stop on starting rc RUNLEVEL=[016]
+start on runlevel [345]
+stop on starting rc RUNLEVEL=[0126]
O

Apache2 ainda usa os links syl do runlevel rc.N.d:

sudo update-rc.d -f apache2 remove 
sudo update-rc.d apache2  start 91 3 4 5 . stop 09 0 1 6 .

Então, em uma inicialização normal (nível de execução 2), eles não serão iniciados e, quando você executar sudo telinit 3 , eles serão exibidos.

    
por artfulrobot 18.07.2012 / 21:44
3

Para impedir que o mysql inicie na inicialização:

sudo echo "manual" | sudo tee /etc/init/mysql.override

Para impedir que o apache2 seja iniciado na inicialização:

sudo update-rc.d apache2 disable 2

Sempre que você precisar iniciar o mysql ou apache2, tudo o que você precisa fazer é iniciar o serviço você mesmo (e você também pode parar ambos manualmente).

Você pode usar

sudo apache2ctl {start|stop|restart}

para isso e

sudo service mysql {start|stop}

para o mysql.

    
por Rinzwind 18.07.2012 / 20:35
-1

você pode usar programas dados no link visual aqui e aqui

    
por shubhansh 18.07.2012 / 20:34