リモートシェルスクリプトでpm2を実行する

リモートシェルスクリプトでpm2を実行する

私のサーバーセットにSSHを介して接続し、いくつかのコマンドを実行して自分のアプリケーションを実行できるスクリプトを作成しようとしています。コマンドの1つ(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コマンドが正常に実行されます。 SSH経由でログインしてpm2を含むスクリプトを実行すると、期待どおりに機能します。この問題は、マイコンピュータからリモートコンピュータとして実行しようとした場合にのみ発生します。

ベストアンサー1

対話型シェルを実行すると、「rc」ファイル(.bash_profileなど)に基づいてPATH変数が設定されます。 「非対話型」sshコマンドを実行すると、多くのスクリプトが実行されないため、PATHは設定されません。

pm2現在のディレクトリ(たとえば、または)の場合でも、そのディレクトリを見つけることができるように./pm2パス名を含める必要があります。それ以外の場合を呼び出すとき。/path/to/pm2export PATH=....pm2

おすすめ記事