Условие, указанное в задании cron, возвращает «Нет такого файла или каталога» - PullRequest
6 голосов
/ 26 мая 2011

Я пытаюсь выполнить этот код в задании cron:

a=`/home/mailmark/node/bin/forever list`; if [ "$a" == "No forever processes running" ]; then forever start /api.js; fi

В рассматриваемом файле 'forever' содержится следующий шебанг:

#!usr/bin/env node    

Возвращает ответ:

/usr/bin/env: node: No such file or directory

Но у меня есть этот код в последней строке файла .bashrc:

export PATH=/home/mailmark/node/bin:$PATH

Что мне нужно сделать, чтобы мой cron работал?

Ответы [ 3 ]

4 голосов
/ 26 мая 2011

Использовать полный путь к узлу:

#!/usr/bin/env /home/mailmark/node/bin/node
3 голосов
/ 26 мая 2011

cron не запускается в «оболочке входа в систему», поэтому .bash_profile и .bashrc не загружаются.

1 голос
/ 26 мая 2011

добавьте . $HOME/.bashrc к началу вашей работы cron.

...