ZNC kann nicht als Dienst gestartet werden

ZNC kann nicht als Dienst gestartet werden

Erstens ist dies genau die gleiche Frage wieHier, aber die angegebenen Lösungen haben in meiner Situation nicht funktioniert.

Hintergrund

Ich verwende einen CentOS 6 VPS und möchte darauf einen ZNC-Bouncer ausführen. Ich habe den Dienst zunächst konfiguriert sudo -u znc znc --makeconfund bin auf keine Probleme gestoßen. Ich konnte ihn erfolgreich starten.

Problem

Als ich jedoch versuchte, ZNC neu zu starten, traten beim Neustart sofort Probleme auf.

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

Ich begann, mein Initskript für ZNC durchzusehen, und wie andere in anderen Online-Quellen angemerkt hatten, scheint es ein Problem mit der Platzierung eines Apostrophs zu geben.

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

Versuchte Lösung

Die daemonZeile in der start()Methode scheint das Problem zu sein. Ich habe versucht, sie wie folgt zu ändern:

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

Wenn ich es jedoch so ändere, wird der Fehler zwar behoben, aber wenn ich versuche, ZNC mit zu starten service znc start, erhalte ich nur eine leere Ausgabe – weder [OK]oder [FAILED]werden angegeben. Der Dienst startet letztendlich nicht und dies wird durch verifiziert service znc status.

Ich bin verwirrt über das Problem und nicht sicher, wie ich die Ursache des Problems herausfinden soll. Weitere Tipps zur Fehlerbehebung sind willkommen!

Antwort1

Ich habe dies gelöst, indem ich die fehlerhafte Zeile in „ /etc/rc.d/init.d/zncVon“ bearbeitet habe:

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

Zu dem Folgendem:

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

(d. h., entfernen Sie die stderr-Umleitung, 2>&1)

Dies gibt mir nun die Bestätigung, dass der Dienst ordnungsgemäß gestartet wurde oder dass ein Fehler aufgetreten ist:

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

Darüber hinaus musste ich zumindest bei meiner Yum-Installation (CentOS 6.7) diese Zeile in derselben Datei ändern, damit sie auf das richtige Konfigurationsverzeichnis verweist (Zeile 12):

config=/var/lib/znc

Zu:

config=/var/lib/znc/.znc

Zuvor konnte znc nicht gestartet werden, da es die Konfigurationsdatei, die ich zuvor mit erstellt hatte, nicht finden konnte sudo -H -u znc znc --makeconf.

verwandte Informationen