linuxでファイル転送といえば、scpやrsync+SSHとかになるんだけど、tar+SSHでも可能らしい。
へぇーこんな使い方あるんだってお話www
参考:http://kaworu.jpn.org/kaworu/2008-07-10-1.php
まぁ、参考というか、そのままなので最後じゃなくて最初にLINK先を書いておく(^^;)
そもそも、tarはファイルをアーカイブするコマンドですね
使い方としては
tar zcvf /home/hoge/hoge.tar.gz .
という感じ。
このtarというコマンドは標準出力にも出す事が可能なのを利用するみたい。
tar - .
これを使ってカレントディレクトリを/tmpにコピーする場合
tar zcfp - . | tar zxfp - -C /tmp
ファイルを圧縮して、パイプで渡した先で指定したディレクトリで解凍してるんだね
ふむふむ
という事で、リモートだって同じ事
remo.hoge.netというサーバーにバックアップを取りたい場合
tar zcfp - . | ssh 接続ユーザ@remo.hoge.net tar zxfp - -C /tmp
SSHのポートを変更している場合は
tar zcfp - . | ssh -p ポート番号 接続ユーザ@remo.hoge.net tar zxfp - -C /tmp
こんな感じ。
既に圧縮されているファイルを転送する場合はzオプション(圧縮)を外してやる方が 早い場合もあるので、その辺りは臨機応変って事やね