ddの出力をssh経由で転送する方法

タグ: linux ssh / 公開: 2013-11-26

ddでバックアップを取得する時に、ローカルにファイルを作らずに、リモートホストに結果を直接転送したい場合がある。そのような場合は、以下のようにsshを組み合わせれば、ddの出力をリモートホストに送ることができる。

dd if=/dev/sda | ssh remotehost dd of =/tmp/image

/dev/sdaは出力したいブロックデバイスに、remotehostは転送先のリモートホストに、/tmp/imageはリモートホストの保存先のパスにそれぞれ読み替える。

このコマンドの仕組みは以下のようなものだ。

  1. ddof=を省略すると、標準出力に結果を出力する。
  2. それをsshにパイプで渡す。
  3. sshssh remotehost commandの形で実行すると、リモートホストでコマンドを実行する。この時sshsshへの標準入力を実行するコマンドの標準入力に接続する。
  4. ddof=の場合と同様にif=を省略すると標準入力を入力として動作する。

これで結果としてローカルホストのddの出力がリモートホストのddの入力となるのだ。

この記事をSNSでシェアする
タイトルとURLをコピーする
または投稿画面を開く
Author
Icon
ぺけみさお / xmisao
プログラマ。
Subscription
Recent articles
Related to linux
Related to ssh