Crontab, выполняющий сценарий удара, регистрирует “команду, не найденную”

Я пытаюсь выполнить команду в определенных интервалах.

pm2 restart appname

Выполнение этого самостоятельно работает. Затем я добавляю его к сценарию удара.

#!/bin/bash
pm2 restart appname

Выполнение работ сценария удара: bash scriptname.sh

Затем я добавляю его к своему crontab:

* * * * * /usr/local/crontab-scripts/scriptname.sh >> /var/log/cronlog.log 2>&1

Это дает мне ошибку:/usr/local/crontab-scripts/scriptname.sh: line 4: pm2: command not found

Я не делаю ни одного из этого как корень, у меня есть pm2, глобально установленный, я поместил в свой сценарий whereis pm2 и это зарегистрировало корректный путь /usr/local/bin/pm2. Затем я пытался иметь свой CD сценария к тому пути прежде, чем выполнить pm2, никакое различие.

Я вне идей здесь.

0
задан 5 March 2020 в 23:04

1 ответ

При вызове приложений или команд из сценариев или заданий КРОНА это помогает обстоятельно объяснить весь путь приложения.

В Вашем случае я попытался бы переписать Ваш сценарий к:

#!/bin/bash
/usr/local/bin/pm2 restart appname

Однако это походит на излишество, и Вы могли бы также просто звонить pm2 непосредственно от Вашего crontab:

* * * * * /usr/local/bin/pm2 restart appname >> /var/log/cronlog.log 2>&1
2
ответ дан 17 March 2020 в 00:07

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

Похожие вопросы: