Как запустить Джейк на crontab для проекта узла JS?

Я хочу выполнить задачу jake в crontab для моего проекта js node. Я научился создавать и запускать Джейк в узле JS. И я также научился работать с crontab. Если я добавлю следующее для создания cronjob, задача jake не даст правильного результата.

* * * * * jake -f ~/Documents/Dev/MyProject-Workplace/web-njs/jake/import/my_jake_file jake_state:add_states >> ~/states.txt

Но если я запускаю в командной строке вручную, он работает отлично.

Заранее спасибо, может кто-нибудь сказать мне, какие изменения были внесены, чтобы он работал правильно.

2 ответа

Не уверен на 100%, так как вы не говорите, как это не работает, но я бы сказал, что, скорее всего, он не запускается как ваш пользователь. Убедитесь, что когда вы добавляете te cronkob, это так, как вы, как это

crontab -u YOURUSERNAMEHERE -e

Если это хорошо, вы можете проверить переменные пути, чтобы увидеть, правильно ли включен jake. Самый простой способ сделать это - запустить задание кукурузы, которое повторяет вашу переменную $PATH и путь к Джейку.

$ echo $PATH >> /tmp/foo; which jake >>/tmp/foo
  1. Убедитесь, что Джейк установлен во всем мире.
  2. Убедитесь, что вы изменили каталог с абсолютного пути и используйте"&&" для запуска следующей команды

Проверьте ниже пример cron

0 2 * * * cd /home/user/work/lib/ && jake foo:bar -f example.js

Другие вопросы по тегам