Это немного странно, и я понятия не имею, что делать.
У меня есть небольшой узел Express API, который находится на моем Raspberry Pi, который работает Rasbian.
Файл js запускается в задании cron:
@reboot sudo /usr/bin/node /var/www/html/api/server.js &
И сам API работает нормально, я могу получить к нему доступ, и он без проблем возвращает мои запросы.
Но API также должен записывать в файл журнала, когда кто-то делает запрос:
fs.appendFile("./ServerLog.log", "[" + dateTime + "]" + " [" + status + "] " + message + "\n", null, () => {
});
Это не работает. Но когда я убиваю процесс, который был запущен через cronjob, и запускаю его вручную, он создает журнал.
Я попытался запустить узел с помощью bash, то есть:
@reboot sudo bash -c "sudo /usr/bin/node /var/www/html/api/server.js &"
Но это ничего не изменило. Я также изменил вывод просто написать "TEST" , но это тоже не сработало. У меня есть Шебанг в начале моего файла JS: #!/usr/bin/env node
Это строки, которые выводятся в системный журнал:
Nov 18 20:20:05 raspberrypi cron[331]: (CRON) INFO (pidfile fd = 3)
Nov 18 20:20:05 raspberrypi cron[331]: (CRON) INFO (Running @reboot jobs)
А в auth.log:
Nov 18 20:20:05 raspberrypi systemd-logind[309]: New seat seat0.
Nov 18 20:20:05 raspberrypi CRON[343]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 18 20:20:05 raspberrypi CRON[343]: pam_unix(cron:session): session closed for user root
Nov 18 20:20:05 raspberrypi sudo: root : TTY=unknown ; PWD=/root ; USER=root ; COMMAND=/usr/bin/node /var/www/html/api/server.js
Nov 18 20:20:05 raspberrypi sudo: pam_unix(sudo:session): session opened for user root by (uid=0)