¿Cómo instalar un script init.d?

71

Estoy tratando de instalar un script init.d, para ejecutar apio para programar tareas. Aquí están los pasos que seguí:

  • Copié el archivo celeryd y lo pegué en la carpeta /etc/init.d/
  • creó un archivo de configuración celeryd en la carpeta / etc / default /

ahora cuando intenté iniciarlo sudo /etc/init.d/celeryd start, arroja un errorsudo: /etc/init.d/celeryd: command not found

Busqué en Google cómo instalar init.d, obtuve esta pregunta SO .

dice emitir un uname -ay cuando lo hago me sale esto:

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

y también dice que use utils como insservpara habilitar el script init.d, así que intenté:

insserv /etc/init.d/celeryd pero arroja error insserv: command not found

así que intenté instalar insserv sudo apt-get install insserv . pero dice aleady instalado:

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

Entonces, ¿cómo instalar el script init.d? Cualquier ayuda será apreciada.

actualización1:

cuando intenté

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

revela algunos errors. puede ser por eso que el servicio no se iniciará.

actualización2:

Eliminé todos los errores cuando corro $ sh -x /etc/init.d/celeryd startpero aún sudo /etc/init.d/celeryd startarrojo el command not founderror

suhailvs
fuente
No tengo tiempo para una respuesta ahora, pero, si desea que esto se ejecute como parte de su inicio, entonces creo que debe agregar enlaces a su script en los diversos directorios de nivel de ejecución para que Linux se encargue de iniciarlo y detenerlo durante tú. (/etc/rc[0-6font>.d) Este proceso está siendo reemplazado gradualmente por un método más nuevo (creo que se llama upstart.), pero no lo he investigado en absoluto. El enlace en su publicación aborda algo de esto.
Joe

Respuestas:

55

Su celerydscript probablemente no sea ejecutable, por eso sudo /etc/init.d/celerydestá regresando command not found. Por lo tanto, primero debe hacerlo ejecutable.

Para hacerlo, ejecute los siguientes comandos:

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

La primera línea cambia los permisos -rwxr-xr-xy la segunda línea garantiza que el propietario y el propietario del grupo sean root.

Una vez hecho esto, supongo que tendrás que usarlo sudo /etc/init.d/celeryd startpara iniciar el demonio.

Alaa Ali
fuente
70

Cuando copie el script en su lugar, no olvide hacer que sea ejecutable y que sea propiedad de root:

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

Una vez que haya instalado eso, puede configurarlo para que se inicie automáticamente en el arranque con:

sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable
David Purdue
fuente
Esto se consideraría como la mejor respuesta, por lo que apunta update-rc.d.
MAChitgarha
3

Si obtiene el command not founderror cuando ejecuta insserv, puede solucionarlo ejecutando el siguiente comando:

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

Luego vea insserv -ho man insservpara ayuda.

También puedes probar con:

sudo update-rc.d celeryd defaults

Fuente: https://askubuntu.com/a/334043/147044

Radu Rădeanu
fuente
1

Esta es la secuencia de comandos para iniciar automáticamente tu demonio en el momento del arranque:

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
Oleg Bondar '
fuente