запустить pm2 из удаленного сценария оболочки

Я пытаюсь написать скрипт, который ssh ​​в кучу моих серверов, и запускает некоторые команды для запуска моего приложения. Одна из команд (pm2) всегда говорит pm2: команда не найдена. Вот как я пытаюсь это сделать:

ssh -o StrictHostKeyChecking=no -i /Path/to/key-pair.pem ubuntu@${ec2ips[i]} 'bash ' << 'STARTAPP' cd ~/my-app-folder pm2 start ./bin/www --name 'my-app' exit STARTAPP 

когда я обычно использую ssh, все команды pm2 работают нормально. Если я вхожу и запускаю скрипт с pm2 в нем, он также работает так, как ожидалось. Только когда я пытаюсь запустить его на удаленном компьютере с моей машины.

  • Изменить путь в sql-скрипте с помощью sed
  • Использование xargs с git
  • Ошибка скрипта Bash
  • команда / opt / bin / date -date '-15 минут 2016-04-27T14: 14: 47' результат за много часов до указанного времени
  • Извлеките и форматируйте данные с помощью `cut` и` awk`
  • читать -e в подзаголовке
  • bash для обновления аргументов командной строки в файле конфигурации Json
  • как использовать команду eval для печати значения параметра
  • One Solution collect form web for “запустить pm2 из удаленного сценария оболочки”

    Когда вы запускаете интерактивную оболочку, она устанавливает переменную PATH в соответствии с вашими «rc» файлами (например, .bash_profile). Когда вы запускаете эту «неинтерактивную» команду ssh, многие из этих сценариев не запускаются, поэтому PATH не установлен.

    Вы должны указать путь к pm2 даже если это текущий каталог (например ./pm2 или /path/to/pm2 ), чтобы убедиться, что он найден, или export PATH=.... перед вызовом pm2 .

    Interesting Posts

    Что такое сообщение из памяти: жертвовать ребенком?

    Найти неверные результаты команды с фильтром дней

    Почему я получаю сообщение об ошибке: «Плохая запись» en_US »при генерации локалей?

    Неявные системные вызовы в командах UNIX

    Коррумпированная файловая система ext4

    Экран очень тусклый после возобновления с приостановления

    Быстро найти, какой файл (ы) принадлежит определенному номеру inode

    CentOS 6.3 Устройство eth0 похоже не присутствует (минимальная не клонированная настройка)

    Предварительная загрузка Killer OOM

    Отключение автосогласования PHY во время загрузки Linux на Xilinx

    Как драйвер vlan передает информацию о vlan в h / w ethernet-драйвер

    Bash получает ожидаемое целочисленное выражение

    Как загрузить систему во втором HD, но запустить систему в другой?

    Как сделать символическую ссылку от / A до / B, от запуска в / C

    Греп остальной линии … после матча

    Linux и Unix - лучшая ОС в мире.