Skript mit rc.local ausführen: Skript funktioniert, aber nicht beim Booten

Habe ich eine node.js Skript, die brauchen, to start at boot und unter der www-data user. Während der Entwicklung habe ich immer angefangen, das Skript mit:

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

Ich sah genau, was geschah, die manager.js funktioniert jetzt Super. Suche ALSO ich fand, ich hatte diesen in meinem /etc/rc.local. Auch habe ich gelernt, zeigen Sie die Ausgabe in eine log-Datei und fügen Sie die 2>&1 "umleiten von stderr zu stdout" und es sollte ein daemon, so dass das Letzte Zeichen ist ein &.

Schließlich, meine /etc/rc.local sieht wie folgt aus:

#!/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

Wenn ich diesen starte, mich (sudo /etc/rc.local): ja, es funktioniert! Wenn ich allerdings einen Neustart durchführen, keine node - Prozess ausgeführt wird, der /var/log/php-jobs.log nicht vorhanden ist und somit die manager.js funktioniert nicht. Was ist passiert?

InformationsquelleAutor der Frage Jurian Sluiman | 2011-10-16

Schreibe einen Kommentar