rsync
では、 overを使用していくつかのファイルをリモート ホストに転送するためのシェル スクリプトを用意しましたssh
。
ただし、転送に加えて、事前と後でいくつかのハウスキーピングを行う必要があります。これには、追加のssh
with コマンドと、転送scp
に含まれていない追加のデータを転送するための呼び出しが含まれますrsync
(転送中にこのデータを生成します)場所)。
ご想像のとおりssh
、特にハウスキーピング操作が実際には非常に高速であるため (通常は)、これにより現在多くのセッションが開始および停止されています。ホスト上で、これが多数の SSH 接続および切断として表示されることを確認しました。これは、実際の転送に比べればわずかですが、かなり無駄に思えます。
だから私が不思議に思っているのは; 接続を開いて、ssh
接続が完了するまで接続したままにする方法はありますか? つまり、最初のssh
ハウスキーピング操作では、接続を開いたままにして、実行時rsync
(およびその後scp
) に、以前に開いた接続を使用して処理を実行できるようにします。
そのようなことはシェルスクリプトでも可能ですか? もしそうなら、エラーを処理する方法についてのポインタ(つまり、接続が必要なくなったら接続を確実に閉じること)もいただければ幸いです!