サービスでリモートホストに対してコマンドを実行するには?

サービスでリモートホストに対してコマンドを実行するには?

「/etc/init.d」にサービスがあります。サービス内でsshをユーザーとして使用して、リモートシステムでコマンドを実行します。現在、私はこれを使ってこれを行います。

sudo -u user bash -c "ssh [email protected] 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"

これはサービスの開始コマンドで、サービス名はCatalogです。

これにより、sudo service catatlog startコマンドが正常に実行されます。つまり、[email protected]ターゲットコンピュータにユーザーとして正しくSSHを接続しuserますが、サービスは開始されません。

誰もがこれを正常に実行するために調整する方法を教えてもらえますか?

ベストアンサー1

そのため、nohup次のコマンドを使用して問題を解決しました。

sudo -iu user ssh [email protected] "nohup bash -c 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"

おすすめ記事