No se puede iniciar ZNC como servicio

No se puede iniciar ZNC como servicio

En primer lugar, esta es exactamente la misma pregunta que se encontró.aquí, pero las soluciones dadas no funcionaron en mi situación.

Fondo

Estoy ejecutando un VPS CentOS 6 y quiero ejecutar un controlador ZNC en él. Configuré el servicio inicialmente sudo -u znc znc --makeconfy no tuve problemas. Pude iniciarlo con éxito.

Problema

Sin embargo, fui a reiniciar ZNC e inmediatamente tuve problemas al intentar reiniciar.

# service znc start
Starting znc: /usr/bin/dirname: extra operand `2>&1.pid'
Try `/usr/bin/dirname --help' for more information.
                                                           [FAILED]

Comencé a revisar mi guión de inicio para ZNC y, como otros habían señalado en otras fuentes en línea, parece haber un problema con la colocación de un apóstrofe.

. /etc/rc.d/init.d/functions

exec=/usr/bin/znc
prog=znc
config=/var/lib/znc
runas=znc

lockfile=/var/lock/subsys/$prog

start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
# daemon --user $runas --check $exec "$exec -d $config >/dev/null 2>&1"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

Intento de solución

La daemonlínea del start()método parece ser el problema. Intenté modificarlo a lo siguiente:

daemon --user $runas "$exec" -d $config >/dev/null 2>&1

Sin embargo, modificarlo a esto soluciona el error, pero cuando voy a iniciar ZNC con service znc start, obtengo una salida en blanco: no se proporciona ninguno [OK]de los dos . [FAILED]El servicio finalmente no se inicia y esto lo verifica service znc status.

Estoy confundido acerca del problema y no estoy seguro de cómo proceder para descubrir la causa del problema. ¡Se agradecen más consejos para la solución de problemas!

Respuesta1

Resolví esto editando la línea ofensiva desde /etc/rc.d/init.d/znc:

daemon --user $runas "$exec -d $config >/dev/null 2>&1"

a lo siguiente:

daemon --user $runas "$exec -d $config >/dev/null"

(es decir, eliminar la redirección stderr, 2>&1)

Esto ahora me confirma que el servicio se inició correctamente o que falló:

root@localhost [~]# service znc restart
Stopping znc:                                              [FAILED]
Starting znc:                                              [  OK  ]

Además, al menos en mi instalación de yum (CentOS 6.7), también tuve que modificar esta línea en el mismo archivo para que apunte al directorio de configuración correcto (línea 12):

config=/var/lib/znc

a:

config=/var/lib/znc/.znc

Antes de esto, znc no podía iniciarse porque no podía encontrar el archivo de configuración que había generado previamente con sudo -H -u znc znc --makeconf.

información relacionada