
Em primeiro lugar, esta é exatamente a mesma pergunta encontradaaqui, mas as soluções fornecidas não funcionaram na minha situação.
Fundo
Estou executando um CentOS 6 VPS e quero executar um segurança ZNC nele. Configurei o serviço inicialmente sudo -u znc znc --makeconf
e não tive problemas. Consegui iniciá-lo com sucesso.
Problema
No entanto, reiniciei o ZNC e imediatamente tive problemas ao tentar reiniciar.
# service znc start
Starting znc: /usr/bin/dirname: extra operand `2>&1.pid'
Try `/usr/bin/dirname --help' for more information.
[FAILED]
Comecei a procurar ZNC em meu script inicial e, como outros apontaram em outras fontes on-line, parece haver um problema com a colocação de um apóstrofo.
. /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
}
Tentativa de correção
A daemon
linha no start()
método parece ser o problema. Eu tentei modificá-lo para o seguinte:
daemon --user $runas "$exec" -d $config >/dev/null 2>&1
No entanto, modificá-lo para isso corrige o erro, mas quando vou iniciar o ZNC com service znc start
, recebo apenas uma saída em branco - nenhum [OK]
ou [FAILED]
é fornecido. Em última análise, o serviço não inicia e isso é verificado por service znc status
.
Estou confuso sobre o problema e não sei como proceder para descobrir a causa do problema. Agradecemos mais conselhos sobre solução de problemas!
Responder1
Resolvi isso editando a linha incorreta /etc/rc.d/init.d/znc
de:
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
para o seguinte:
daemon --user $runas "$exec -d $config >/dev/null"
(ou seja, remova o redirecionamento stderr, 2>&1)
Isso agora me dá a confirmação de que o serviço foi iniciado corretamente ou falhou:
root@localhost [~]# service znc restart
Stopping znc: [FAILED]
Starting znc: [ OK ]
Além disso, pelo menos na minha instalação do yum (CentOS 6.7), também tive que modificar esta linha no mesmo arquivo para apontar para o diretório de configuração correto (linha 12):
config=/var/lib/znc
para:
config=/var/lib/znc/.znc
Antes disso, o znc falhava ao iniciar porque não conseguia encontrar o arquivo de configuração que eu havia gerado anteriormente com o sudo -H -u znc znc --makeconf
.