Estoy usando el servicio de arranque para los servicios en mis servidores. Escribir un archivo conf y colocarlo /etc/init
es bastante fácil, pero parece que no se instala por completo. Por un lado, el service --status-all
no enumera mi nuevo servicio. Lo comprobé y si hago un enlace en /etc/init.d
al /lib/init/ubstart-job
que voy a mostrar en el estado. Pero hacer esto manualmente me hace pensar que no lo estoy haciendo bien, y bien puede haber otros pasos de configuración que no se están haciendo.
¿Cuál es la forma correcta de instalar un servicio inicial de modo que esté registrado correctamente en todas las herramientas relacionadas con los servicios?
/lib/init/upstart-job
?Respuestas:
Cuando inicialmente copia un nuevo archivo conf en la carpeta / etc / init, debe llamar a:
De esta manera, su advenedizo debería estar debidamente registrado.
fuente
start
y elstop
trabajo), pero no hace que el trabajo se muestre en todo el estado. Todavía tenía que agregarlo manualmente/etc/init.d/
para que eso sucediera.initctl list
comandos con sudo:sudo initctl list
. De esa manera verá la lista completa de servicios.I still had to manually add it to /etc/init.d
. ¿Aún tenías que agregar qué? Eso significa que, además de unX.conf
archivo agregado/etc/init
, ¿también es necesario agregar un archivo/etc/init.d
?Consulte el manual de servicio:
(énfasis añadido)
Es por eso que agregarlo a /etc/init.d (donde se encuentran los trabajos de sysvinit) hizo que funcionara. Entonces: intente ejecutar initctl list en su lugar :).
fuente
That's why adding it
¿Agregar qué? Además delmy_service.conf
archivo/etc/init
, ¿también es necesario tener un/etc/init.d
archivo?Para servicios SysV
Asegúrese de seguir los siguientes pasos al agregar / crear un nuevo servicio en Ubuntu.
/etc/init.d/<service name>
chmod 700 /etc/init.d/<service name>
update-rc.d <service name> defaults
update-rc.d <service name> enable
Ahora veo tu servicio en
fuente
Descubrí que un error en el archivo .conf puede hacer que el trabajo no sea reconocible para initctl. por ejemplo, tener una
setuid
línea en Upstart versión 1.3 o anterior.fuente
Si bien la respuesta actual elegida es correcta para agregar el nuevo servicio al arranque, no es particularmente útil para averiguar POR QUÉ una configuración en / etc / init / no se carga: la pieza que falta está usando init-checkconf primero para asegurarse su configuración es válida y luego usa reload-configuration:
fuente