2 台の Solaris サーバーがあります。 server1にファイルがありますarchive.tar.gz
。ファイルを抽出するには、server2でsshする必要があります。
だから、次のコマンドを作成します。
ssh server2 < archive.tar.gz | gunzip -c | tar -xf - -C /home/
しかし、エラーが発生します。
stdin が端末ではないため、疑似端末は割り当てられません。
ファイルを正しくコピーする方法は?
ベストアンサー1
私はあなたが次のことをすることができると信じています:
$ cat archive.tar.gz | ssh server2 "tar zxvf -"
server2から抽出されるディレクトリを制御する必要がある場合:
$ cat archive.tar.gz | ssh server2 "cd /path/to/dir; tar zxvf -"
ソラリス
お客様は Solaris を使用しているため、tar バージョンには GNU tar が提供する圧縮機能が含まれていない場合があります。心配しないでください。このコマンドは引き続き実行できます。archive.tar.gz
まず、タールボールを解凍できるコマンドでcatを分解するだけです。
次のようにする必要があります。
$ cat archive.tar.gz | ssh server2 "(cd /some/dir; gunzip | tar xf -)"
またはこれ:
$ gzip -dc < sample.tar.gz | ssh server2 "cd /path/to/dir; tar xvf -"
またはこれ:
$ gunzip sample.tar.gz | ssh server2 " cd /path/to/dir; tar xvf -"