前の SSH コマンドが完了する前に Bash 実行コマンド [Close]

前の SSH コマンドが完了する前に Bash 実行コマンド [Close]

2台のサーバーに電力を供給するUPS用のシャットダウンプロトコルを作成しようとしています。サーバーAがSSHを介してサーバーBでbashスクリプトをトリガーしたいと思います。私がテストしているスクリプトはサーバーBを起動するのにうまく機能しますが、残りのスクリプトを進める前にSSHからの応答を待つのに問題があります。これはこれまで私のサーバーAスクリプトです。

#!/bin/bash

ssh [email protected] "/bin/bash /opt/shutdown.sh"

sleep 10
echo "start shutdown" | wall
shutdown -p now

独立して実行するには最初の行が必要だと思いますか?いくつかの検索を行い、nohupSSH行の末尾に追加してみました。&私も試してみましたが、screen運がありませんでした。 sshコマンドを呼び出した直後にスクリプトが続行されるようにしたいと思います。どんな助けでも大変感謝します。

ベストアンサー1

SSHの人々によると:

 -f      Requests ssh to go to background just before command execution.  This is useful if ssh is going to ask
         for passwords or passphrases, but the user wants it in the background.  This implies -n.  The recom‐
         mended way to start X11 programs at a remote site is with something like ssh -f host xterm.

私はそれがあなたの問題を解決できると思います。乾杯!ssh -f [email protected] "/bin/bash /opt/shutdown.sh"

おすすめ記事