Ejecutar script con rc.local: el script funciona, pero no en el arranque

Tengo un script node.js que debe comenzar en el arranque ejecutar bajo el usuario www-data. Durante el desarrollo siempre comencé el script con:

su www-data -c 'node /var/www/php-jobs/manager.js

Vi exactamente lo que sucedió, el manager.js ahora funciona muy bien. Buscando SO, descubrí que tenía que colocar esto en mi/etc/rc.local. Además, aprendí a señalar la salida a un archivo de registro y anexar la2>&1 para "redirigir stderr a stdout" y debería ser un demonio, por lo que el último personaje es un&.

Finalmente, mi/etc/rc.local Se ve como esto

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

su www-data -c 'node /var/www/php-jobs/manager.js >> /var/log/php-jobs.log 2>&1 &'

exit 0

Si ejecuto esto yo mismo sudo /etc/rc.local): ¡Si, funciona! Sin embargo, si realizo un reinicio nonodel proceso @ se está ejecutando, el/var/log/php-jobs.log no existe y, por lo tanto, manager.js no funciona. ¿Qué está pasando

Respuestas a la pregunta(15)

Su respuesta a la pregunta