zaki work log

作業ログやら生活ログやらなんやら

(コマンドメモ)ssh経由でリモートのファイル一覧をtarする

たまに使うので備忘録

リモートの/home/zaki/work/ansibleをローカルにansible.tar.gzとして固める

[zaki@manager-dev ~]$ ls
[zaki@manager-dev ~]$ 
[zaki@manager-dev ~]$ ssh zaki@192.168.0.19 tar cz /home/zaki/work/ansible | cat - > ansible.tar.gz
zaki@192.168.0.19's password: 
tar: メンバ名から先頭の `/' を取り除きます
[zaki@manager-dev ~]$ ls
ansible.tar.gz
[zaki@manager-dev ~]$ tar tf ansible.tar.gz 
home/zaki/work/ansible/
home/zaki/work/ansible/vmware/
home/zaki/work/ansible/vmware/inventory.ini
home/zaki/work/ansible/vmware/ansible.cfg
:
:

f-を指定して、ssh zaki@192.168.0.19 tar czf - /home/zaki/work/ansible | cat - > ansible.tar.gzでも一緒

ローカルのtar.gzをリモートの/var/tmp以下へ展開する

[zaki@manager-dev ~]$ cat ansible.tar.gz | ssh 192.168.0.19 tar xz -C /var/tmp/
zaki@192.168.0.19's password: 
[zaki@manager-dev ~]$ 
[zaki@manager-dev ~]$ ssh zaki@192.168.0.19 find /var/tmp/home/
zaki@192.168.0.19's password: 
/var/tmp/home/
/var/tmp/home/zaki
/var/tmp/home/zaki/work
/var/tmp/home/zaki/work/ansible
/var/tmp/home/zaki/work/ansible/vmware
/var/tmp/home/zaki/work/ansible/vmware/inventory.ini
/var/tmp/home/zaki/work/ansible/vmware/ansible.cfg
:
:

fで標準入力(-)を指定して、cat ansible.tar.gz | ssh 192.168.0.19 tar xzf - -C /var/tmp/でも一緒 ただ、これはzが無いとエラーだった。

[zaki@manager-dev ~]$ cat ansible.tar.gz | ssh 192.168.0.19 tar x -C /var/tmp/
zaki@192.168.0.19's password: 
tar: アーカイブは圧縮されています. -z オプションを使ってください

※ 普通にファイルを指定する場合はtar xf file.tar.gzだけでよい。

[zaki@manager-dev ~]$ tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
使用許諾 GPLv3+: GNU GPL version 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

[参考訳]
これはフリーソフトウェアです. 変更と再配布は自由です.
法律で認められる範囲で「無保証」です.

作者: John Gilmore, Jay Fenlason.

もちろんコンテナイメージをdocker load < -とかもできる。