Transferir arquivos via SSH


9

Eu quero usar a transferência de arquivos via SSH em alguns scripts. Eu li que é possível tar sobre ssh. Onde devo começar a ler?


Por que você traz alcatrão?
Zoredache

1
O tar é a maneira mais rápida de copiar arquivos por SSH. O scp e o rsync têm muita sobrecarga de protocolo ao copiar muitos arquivos pequenos.
Justin

@ Justin, é claro que a suposição com o tar é que você terá uma conexão confiável. Se o desempenho bruto não importa, geralmente é melhor manter as soluções mais comuns e simples como o scp / rsync.
precisa

1
Hã? tar sobre ssh não é pior que scp ou rsync. O único aspecto em que o rsync é melhor é que ele permite que você retome. Se a conexão não for confiável, provavelmente ainda vale a pena tentar tar sobre ssh primeiro e finalizar a transferência com o rsync.
9307 Justin

@ Justin, isso faria um script bastante complexo. Talvez devêssemos começar com algo um pouco mais básico.
John Gardeniers

Respostas:


23

Para transferir arquivos através do ssh, você pode

  • use scp
    • scp -r /srcdir/ user@remotehost:/destdir/
  • use rsync sobre ssh (consulte o parâmetro -e)
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • use alguma ferramenta que transfira dados via stdin / out ( tar , cpio , etc)
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • Monte o sistema de arquivos via sshfs (se o fusível for suportado no seu sistema)

Eu uso regularmente todos os três; qual uso depende das circunstâncias.
reinierpost

3

O'Reilly tem um livro com tudo - SSH, The Secure Shell: The Definitive Guide - se você pesquisar no Google, há muitas referências, lugares para comprá-lo e visualiza-lo on-line.


Tem que amar quando você recebe votos negativos e nenhum comentário para que você saiba o porquê. Ele perguntou por onde começar a ler - e isso está disponível online e em uma livraria. É uma ótima referência para ssh.
Kevin K

Eu acho que isso está errado também. Por que você foi rejeitado (duas vezes), dado que realmente respondeu à pergunta e a resposta aceita (votada até 15 vezes até agora) é um genérico como copiar arquivos no ssh sem referência a por onde começar a ler. Vou votar em você, apenas para tentar remediar a situação. Não deixe que eles te derrubem cara.
Richard Holloway


0

Para tar sobre ssh, você pode usar o fato de que o ssh encaminha stdin e stdout. Então você pode fazer

ssh server 'tar czf - /some/dir/' > tarfile.tar.gz

e tenha o backup na máquina local.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.