Se o arquivo abc.txt
contiver a lista de nomes de arquivos relativos a /path/to/base
:
ssh user@server tar c -T /path/to/abc.txt -C /path/to/base | (cd /tmp; tar xv)
Isso cria um tarball on-the-fly, sem salvá-lo em lugar algum, canalizá-lo para o shell local, extrair, copiar efetivamente os arquivos listados.
DICAS EXTRA
Se o arquivo abc.txt
contiver a lista de caminhos absolutos:
ssh user@server tar c -T /path/to/abc.txt | (cd /tmp; tar xv)
Se o arquivo abc.txt
estiver no seu sistema local, não no remoto:
ssh user@server tar c -T- < /path/to/abc.txt | (cd /tmp; tar xv)
Para usar a compactação gzip
(usando o nível padrão 6):
ssh -C user@server tar c -T /path/to/abc.txt | (cd /tmp; tar xv)
Para usar o nível de compactação gzip
9:
ssh user@server 'tar c -T /path/to/abc.txt | gzip -9' | (cd /tmp; tar zxv)