Невозможно запустить ZNC как службу

Невозможно запустить ZNC как службу

Во-первых, это точно такой же вопрос, как и найденныйздесь, но данные решения не сработали в моей ситуации.

Фон

Я использую CentOS 6 VPS и хочу запустить на нем ZNC bouncer. Я изначально настроил службу sudo -u znc znc --makeconfи не столкнулся с проблемами. Мне удалось успешно ее запустить.

Проблема

Однако я попытался перезапустить ZNC и сразу же столкнулся с проблемами при попытке перезагрузки.

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

Я начал просматривать свой initscript для ZNC и, как и другие указывали в других источниках в Интернете, похоже, возникла проблема с размещением апострофа.

. /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
}

Попытка исправления

Похоже, проблема daemonв строке метода . Я попробовал изменить ее следующим образом:start()

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

Однако изменение его на это исправляет ошибку, но когда я пытаюсь запустить ZNC с помощью service znc start, я получаю просто пустой вывод - ни [OK]или [FAILED]не указаны. Служба в конечном итоге не запускается, и это подтверждается service znc status.

Я запутался в этой проблеме и не уверен, как действовать, чтобы выяснить причину проблемы. Дальнейшие советы по устранению неполадок приветствуются!

решение1

Я решил эту проблему, отредактировав проблемную строку /etc/rc.d/init.d/znc:

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

к следующему:

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

(т.е. удалить перенаправление stderr, 2>&1)

Теперь это дает мне подтверждение того, что служба запустилась успешно или что она не заработала:

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

Кроме того, по крайней мере в моей установке yum (CentOS 6.7), мне также пришлось изменить эту строку в том же файле, чтобы она указывала на правильный каталог конфигурации (строка 12):

config=/var/lib/znc

к:

config=/var/lib/znc/.znc

До этого znc не запускался, так как не мог найти файл конфигурации, который я ранее сгенерировал с помощью sudo -H -u znc znc --makeconf.

Связанный контент