Como instalar um script init.d?

63

Estou tentando instalar um script init.d para executar o celery para tarefas de agendamento. Aqui estão os passos que segui:

  • copiou o arquivo celeryd e colou na pasta /etc/init.d /
  • criou um arquivo de configuração celeryd na pasta / etc / default /

agora, quando tentei iniciá-lo por sudo /etc/init.d/celeryd start , ocorreu um erro sudo: /etc/init.d/celeryd: command not found

Eu pesquisei sobre como instalar o init.d, tenho este SO-question .

diz para emitir um uname -a e quando eu obtenho isso:

Linux capsonesystem8-desktop 3.2.0-43-generic-pae 
#68-Ubuntu SMP Wed May 15 03:55:10 UTC     
2013 i686 i686 i386 GNU/Linux

e também diz usar utils como insserv para habilitar o script init.d então tentei:

insserv /etc/init.d/celeryd , mas gera erro insserv: command not found

, então tentei instalar o insserv sudo apt-get install insserv . mas diga já instalado:

insserv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.

Então, como instalar o script init.d? Qualquer ajuda será apreciada.

update1:

quando tentei:

$ sh -x /etc/init.d/celeryd start

revela alguns errors . pode ser por isso que o serviço não vai começar.

update2:

Limpei todos os erros ao executar $ sh -x /etc/init.d/celeryd start , mas ainda sudo /etc/init.d/celeryd start gera command not found error

    
por suhailvs 21.08.2013 / 08:48

4 respostas

48

Seu script celeryd provavelmente não é executável, é por isso que sudo /etc/init.d/celeryd está retornando command not found . Então, você precisa primeiro torná-lo executável.

Para isso, execute os seguintes comandos:

sudo chmod 755 /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

A primeira linha altera as permissões para -rwxr-xr-x e a segunda linha garante que o proprietário e o proprietário do grupo do arquivo sejam root .

Uma vez feito isso, eu suponho que você precisará usar sudo /etc/init.d/celeryd start para iniciar o daemon.

    
por Alaa Ali 21.08.2013 / 09:18
62

Quando você copiar o script no lugar, não se esqueça de torná-lo executável e de propriedade do root:

sudo chmod +x /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

Depois de ter instalado isso, você pode configurá-lo para iniciar automaticamente na inicialização com:

sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable
    
por David Purdue 21.08.2013 / 09:18
3

Se você obtiver o erro command not found quando executar insserv , poderá corrigi-lo executando o seguinte comando:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

Em seguida, consulte insserv -h ou man insserv para obter ajuda.

Você também pode tentar:

sudo update-rc.d celeryd defaults

Fonte: link

    
por Radu Rădeanu 21.08.2013 / 09:18
1

Esta é a sequência de comandos para iniciar automaticamente seu daemon no momento da inicialização:

sudo cd /etc/init.d
sudo chown root:root celeryd
sudo chmod 755 celeryd
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
sudo insserv celeryd
    
por Oleg Bondar' 28.10.2013 / 04:30

Tags