
私は、ssh を使用してファイルをアップロードし、その後、再度ログインする必要がないように、同じ ssh セッション内でリモート マシン上でコマンドを実行して後処理を行う最も簡単な方法を探しています。可能であれば、アップロード時に進行状況インジケーターが表示される必要があります。
これまでscpとrsyncを調べましたが、どちらもフックを実行することはできませんでした。(--rsync-path
パラメータを使用してスクリプトを実行することはできます前にrsync を使用していますが、後処理を行いたいです。ssh セッションを開いてアップロードし、コマンドを実行して再度閉じる方法はありますか?
答え1
そうですね、もう一方の端に を付けて、全体を 1 つのssh
コマンドにパイプすることもできますcat
。ここでは、シェル スクリプトをアップロードし、実行可能にして実行します。
$ cat sayhi.sh | ssh myserver 'cat > ./remotehi.sh ; chmod +x ./remotehi.sh ; ./remotehi.sh'
hello, world!
答え2
ControlMaster
のメカニズムが必要な場合がありますssh
。