LINUX.ORG.RU

Как запустить скрипт по крону внутри директории?

 , ,


0

1

Нодовский скрипт по адресу /home/parser/script.js
если запускать вручную, перейдя в нужную директорию, то все ОК.
Если запускать из корня, обращаясь по полному адресу, то появляются ошибки:

SyntaxError: Unexpected token u in JSON at position 0
    at Object.parse (native)
    at ReadFileContext.callback (/home/parser/db.js:34:34)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:365:13)


Если запускать cd /home/parser & node script.js, то он ищет нодовские библиотеки в /root
Как правильно?

★★★★★

Через обёртку на bash, в которой будет переход в нужную директорию и запуска скрипта. А это обёртку через su от нужного пользователя.

kostik87 ★★★★★
()

В crontab есть возможность указать, от какого пользователя запускать. Без всяких su.

anonymous
()
(cd /home/parser && node script.js)

Скобочки сделают изолирование и баш перейдёт в нужную директорию только на время выполнения скрипта в js, как-то так.

xndr
()

Если запускать cd /home/parser & node script.js, то он ищет нодовские библиотеки в /root

Что-то не верится. Может проблема не в библиотеках а там где ты сам пытаешься файлы читать? Добавь __dirname там где пути относительные.

Vit ★★★★★
()
Ответ на: комментарий от xndr

Так Патрик в своих скриптах пишет.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.