Estoy tratando de escribir una initconfiguración que redirija la salida de mi daemon a dos archivos (para stdout y stderr). El problema es que no está funcionando. Estoy leyendo esto ahora mismo.
Entonces, hice este script de shell para probar este enfoque. Y no funciona:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Seed kurokikaze starter"
#NAME=node
DAEMON="/etc/node-version/0.1.99/bin/node"
DAEMON_ARGS="/etc/seed/kurokikaze/server.js"
DAEMON_DIR="/etc/seed/kurokikaze"
APPLOG_FILE="/var/log/seed/kurokikaze"
ERRLOG_FILE="/var/log/seed/kurokikaze-err"
PIDFILE="/var/run/seeds/kurokikaze.pid"
SCRIPTNAME="/etc/seed-init/kurokikaze"
NCMD="exec $DAEMON $DAEMON_ARGS 1>>$APPLOG_FILE 2>>$ERRLOG_FILE"
start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir ${DAEMON_DIR} --exec $DAEMON --startas /bin/sh -- $NCMD
Pero si comienzas esto sin envolver el demonio en un shell separado, funciona según lo previsto (solo sin redireccionamientos stderr / stdout):
start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir ${DAEMON_DIR} --exec $DAEMON -- ${DAEMON_ARGS}
La pregunta es: ¿por qué el primer script no funciona? El sistema es Debian Lenny, la start-stop-daemonversión es 1.14.29